Pregunta

Tengo un escenario maestro de detalles donde tengo 1 ComboBox listando compañías de un ObjectDataSourceProvider. Debajo tengo 2 ComboBoxes vinculados a la propiedad Contactos del objeto actual de la Compañía. Necesito poder seleccionar un contacto diferente en cada ComboBox; sin embargo, tan pronto como cambie la selección en una lista, la otra lista se actualizará al mismo contacto.

He probado diferentes configuraciones (OneWay vs. TwoWay) pero hasta ahora nada parece funcionar. Aquí hay un extracto de mi 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>

Pensé que crear un CollectionViewSource sería el camino a seguir, pero no he podido hacer que funcione. ¿Hay una forma sencilla de hacer esto para que PrimaryContact y AdminContact no estén vinculados?

¿Fue útil?

Solución

Cambie su " IsSynchronizedWithCurrentItem " atributos a " Falso " ;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top