0

我一直在互联网上寻找解决我遇到的问题的方法。基本上我想在数据网格上选择一个项目,它应该更新一些文本框(不是问题)和一个组合框(一场噩梦)

请参阅下面的组合框(和文本框)的代码片段:

  <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" />

我迷路了,有什么想法吗?

问候,

埃里克

4

1 回答 1

0

如果我理解正确,您的意思是您希望 ComboBox 的选定值显示 dataGrid。ComboBox.SelectedValue =Cint(DataGrid.SelectedItems.Item(0).FieldName) 添加就足够了。此代码添加到 DataGrid 选择更改事件。祝你好运

于 2013-06-13T14:58:56.080 回答