选择datagrid项后更新组合框的值/项

时间:2013-06-11 07:59:12

标签: c# binding combobox silverlight-5.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" />

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

此致

埃里克

1 个答案:

答案 0 :(得分:0)

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