我有一个如下所示的DataGrid
<DataGrid ItemsSource="{Binding Collection}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Col1" Binding="{Binding Col1}" IsReadOnly="True" />
<DataGridComboBoxColumn Header="Col2" ItemsSource="{Binding Col2}" SelectedItemBinding="{Binding Selected}" />
</DataGrid.Columns>
</DataGrid>最终进入Col1的值实际上是Window.DataContext.Collection[index].Col1,但WPF似乎是在Window.DataContext.Col2中寻找col2的ItemsSource。我需要的实际路径是Window.DataConext.Collection[index].Col2
请注意,上面对index的引用不是对静态值的引用,而是对这样一个事实的引用:每一行都从一个集合项中获取一个值。
我该如何做到这一点?
发布于 2014-01-10 05:45:48
试试这个:
<DataGridComboBoxColumn Header="Col2" SelectedItemBinding="{Binding Selected}"
ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}},
Path=DataContext.Collection[index].Col2}" />格式不佳。(为index插入一个数字)
https://stackoverflow.com/questions/21031730
复制相似问题