1

在一个项目中,我展示了两个 ComboBoxes,比如说 ComboBox1 和 ComboBox2。我将 ComboBox 与 KeyValue 对绑定在一起 让我们说 dictionary1 如下所示。

ComboBox1.ItemsSource = dictionary1 ;
ComboBox1.SelectedItem = ComboBox1.Items[0];

//Setting the Item Source of Patient Name Combo Box.
ComboBox2.ItemsSource = dictionary1 ;
ComboBox2.SelectedItem = ComboBox2.Items[0];

在 XAML 部分,我在 Dictionary 的 CombBox1 中显示 Key,在 ComboBox2 中显示 Value,如下所述:-

<ComboBox
       x:Name             ="ComboBox1"
       DisplayMemberPath  ="Key"
       SelectedValue      ="{Binding Source=ComboBox2, Path=DisplayMemberPath, Mode=TwoWay}"/>

<ComboBox
       x:Name              ="ComboBox2"
       DisplayMemberPath   ="Value"
       SelectionChanged    ="ComboBox2_SelectionChanged"
       />

目标:- 如果我更改 ComboBox1 中的选择,那么它应该影响 ComboBox2.SelectedItem 的相应值,如果我更改 ComboBox2 中的选择,那么它应该影响 ComboBox1.SelectedItem 中的相应键值。

谁能告诉我上述代码中的错误在哪里,或者请帮助我完成上述目标。提前致谢。

4

2 回答 2

1

这应该工作

<ComboBox
       x:Name             ="ComboBox1"
       DisplayMemberPath  ="Key"
       SelectedItem      ="{Binding ElementName=ComboBox2, Path=SelectedItem, Mode=TwoWay}"/>

<ComboBox
       x:Name              ="ComboBox2"
       DisplayMemberPath   ="Value"
       />
于 2012-08-22T06:30:08.950 回答
1

我至少可以看到两个问题:

  1. 需要是ElementName而不是Source
  2. 应该是Path而不是DisplayMemberPath

我认为这应该有效:

<ComboBox
   x:Name             ="ComboBox1"
   DisplayMemberPath  ="Key"
   SelectedValue      ="{Binding ElementName=ComboBox2, Path=SelectedValue}"/>

<ComboBox
   x:Name             ="ComboBox2"
   DisplayMemberPath  ="Value" />
于 2012-08-22T06:31:25.753 回答