我一直在互联网上寻找解决问题的方法。 基本上我想在数据网格上选择一个项目,它应该更新一些文本框(不是问题)和组合框(一个噩梦)
请参阅以下组合框(&文本框)的代码段:
<TextBox Text="{Binding SelectedStudy.Description, Mode=TwoWay}" Width="200" HorizontalAlignment="Left" />
<ComboBox ItemsSource="{Binding ModalityTypes, Mode=TwoWay}" DisplayMemberPath="ModalityTypeCode"
SelectedItem="{Binding ElementName=_studyDataGrid, Path=SelectedItem.Modality, Mode=TwoWay}" SelectedValuePath="Modality" />
<TextBox Text="{Binding SelectedStudy.Duration, Mode=TwoWay}" Width="200" HorizontalAlignment="Left"/>
我的数据网格:
<sdk:DataGrid x:Name="_studyDataGrid"
Grid.Row="1" Grid.ColumnSpan="2"
ItemsSource="{Binding Studies, Mode=OneWay}"
AutoGenerateColumns="False"
IsReadOnly="True"
SelectionMode="Single"
SelectedItem="{Binding SelectedStudy, Mode=TwoWay}"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Margin=" 5,5,5,5"
>
上面的代码不起作用,这意味着每当我点击数据网格中的一行时,组合框都不会更新。
我也尝试过:
<ComboBox ItemsSource="{Binding ModalityTypes, Mode=TwoWay}" DisplayMemberPath="ModalityTypeCode"
SelectedValue="{Binding ElementName=_studyDataGrid, Path=SelectedItem.Modality, Mode=TwoWay}" SelectedValuePath="Modality" />
我迷路了,有什么想法吗?
此致
埃里克
答案 0 :(得分:0)
如果我理解正确,您的意思是希望ComboBox的选定值显示dataGrid。 只需添加ComboBox.SelectedValue = Cint(DataGrid.SelectedItems.Item(0).FieldName)即可。 此代码添加到DataGrid选择更改事件。 祝你好运