两个互相更新的组合框上的第一个值为空

本文关键字:组合 第一个 更新 两个 | 更新日期: 2023-09-27 18:27:53

对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但是现在组合框不会互相更新

两个互相更新的组合框上的第一个值为空

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

<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中的转换器或属性。