Pergunta

Eu tenho um cenário mestre-detalhe onde eu tenho 1 anúncio ComboBox empresas de um ObjectDataSourceProvider. Sob que eu tenho 2 ComboBoxes de ligação ao Contactos propriedade do objeto da empresa atual. Eu preciso ser capaz de selecionar um contato diferente em cada caixa de combinação; No entanto, assim como a seleção mudança que eu em um lista as outras atualizações de lista para o mesmo contato.

Eu tentei diferentes configurações (OneWay vs. TwoWay), mas até agora nada parece funcionar. Aqui está um trecho do meu 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>

Eu pensei que a criação de um CollectionViewSource seria o caminho a percorrer, mas eu não tenho sido capaz de fazer esse trabalho. Existe uma maneira simples de fazer isso de modo que o PrimaryContact e AdminContact não estão ligados?

Foi útil?

Solução

Mude o seu " IsSynchronizedWithCurrentItem " atributos para "False".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top