2013-08-16 37 views
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 但是现在的组合框不更新对方

回答

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中需要一个转换器或一个属性。

+0

@FionaByrne,很高兴有帮助。你是新的,所以请阅读此通报... http://meta.stackoverflow.com/help/someone-answers –

+0

谢谢!最后有用的代码是SelectedValue,但我也从两者中删除了'SelectedValuePath',并设置了'IsSynchronizedWithCurrentItem ='False''这个组合框互相更新,但不显示启动时的第一个值形成。 – CatOfTheCanals

相关问题