将2个WPF组合框数据绑定到1个源,而不是;“链接”;

将2个WPF组合框数据绑定到1个源,而不是;“链接”;,wpf,data-binding,xaml,Wpf,Data Binding,Xaml,我有一个主-细节场景,其中我有一个组合框,其中列出了ObjectDataSourceProvider中的公司。在此情况下,我有两个组合框绑定到当前公司对象的Contacts属性。我需要能够在每个组合框中选择不同的联系人;但是,一旦我更改一个列表中的选择,另一个列表将更新为同一联系人 我尝试过不同的设置(单向和双向),但到目前为止似乎没有任何效果。这里是我的XAML的摘录 <Page.Resources> <!-- This is a custom class inher

我有一个主-细节场景,其中我有一个组合框,其中列出了ObjectDataSourceProvider中的公司。在此情况下,我有两个组合框绑定到当前公司对象的Contacts属性。我需要能够在每个组合框中选择不同的联系人;但是,一旦我更改一个列表中的选择,另一个列表将更新为同一联系人

我尝试过不同的设置(单向和双向),但到目前为止似乎没有任何效果。这里是我的XAML的摘录

<Page.Resources>
    <!-- This is a custom class inheriting from ObjectDataProvider -->
    <wg:CustomersDataProvider x:Key="CompanyDataList" />
</Page.Resources>

<Grid>
    <!--- other layout XAML removed -->
    <ComboBox x:Name="Customer" Width="150"
              ItemsSource="{Binding Source={StaticResource CompanyDataList},Path=Companies,Mode=OneWay}"
              DisplayMemberPath="Name"
              SelectedValuePath="Id"
              IsSynchronizedWithCurrentItem="True"
              SelectedValue="{Binding Path=Id, Mode=OneWay}" 
              VerticalAlignment="Bottom" />

    <ComboBox x:Name="PrimaryContact" Width="150"
              DataContext="{Binding ElementName=Customer,Path=Items,Mode=OneWay}"
              ItemsSource="{Binding Path=Contacts,Mode=OneWay}"
              DisplayMemberPath="FullName"
              SelectedValuePath="Id"
              IsSynchronizedWithCurrentItem="True"
              SelectedValue="{Binding Path=Id,Mode=OneWay}" />

    <ComboBox x:Name="AdminContact" Width="150"
              DataContext="{Binding ElementName=OwnerCustomer,Path=Items,Mode=OneWay}"
              ItemsSource="{Binding Path=Contacts,Mode=OneWay}"
              DisplayMemberPath="FullName"
              SelectedValuePath="Id"
              IsSynchronizedWithCurrentItem="True"
              SelectedValue="{Binding Path=Id,Mode=OneWay}" />

    <!--- other layout XAML removed -->
</Grid>


我认为创建一个CollectionViewSource将是一条可行的道路,但我一直无法做到这一点。有没有一种简单的方法可以做到这一点,使PrimaryContact和AdminContact不被链接?

将您的“”属性更改为“False”。

很好,虽然这会导致另一个问题,但我想我可以处理它。谢谢鲍勃,你似乎是WPF的大师!我认为WPF太大了,除了佩佐尔德,没有人会成为大师:-)