2

对 c# 和 xaml 相当陌生,所以要有耐心!我有两个组合框,每个组合框显示的值相互依赖。为此,我使用了 DisplayMemberPath 和 SelectedMemberPath,如下所示:

<ComboBox SelectedIndex="-1" x:Name="SiteLocCombo" SelectedValuePath="GeneralArea" DisplayMemberPath="Station" ItemSource="{Binding}"/>
<Combobox SelectedIndex="-1" x:Name="SiteCodeCombo" SelectedValuePath="Station" DisplayMemberPath="GeneralArea" ItemSource="{Binding}"/>

为了获得组合框中的第一个值,我添加了属性IsSynchronizedWithCurrentItem=True ,但现在组合框不会相互更新

4

1 回答 1

1

如果您希望第二个组合跟踪第一个组合的选定值...

<ComboBox SelectedIndex="-1" 
                  x:Name="SiteLocCombo" 
                  SelectedValuePath="GeneralArea" 
                  DisplayMemberPath="Station" 
                  ItemSource="{Binding}"/>
        <ComboBox SelectedIndex="-1" 
                  x:Name="SiteCodeCombo" 
                  SelectedValuePath="Station" 
                  DisplayMemberPath="GeneralArea" 
                  ItemSource="{Binding}"
                  SelectedValue="{Binding ElementName=SiteLocCombo, Path=SelectedValue}"
                  />

或者,您可以以相同的方式绑定到 SelectedIndex 或 SelectedItem 等。这适用于两者都绑定到同一个 ItemsSource 的情况,否则您需要在 ViewModel 中使用转换器或属性。

于 2013-08-16T11:22:28.230 回答