У меня есть подробный сценарий, в котором у меня есть 1 компания со списком ComboBox из ObjectDataSourceProvider. Под этим у меня есть 2 привязки ComboBox к свойству Contacts из текущего объекта Company. Мне нужно иметь возможность выбирать разные контакты в каждом ComboBox; однако, как только я изменяю выбор в одном списке, другой список обновляется для того же контакта.
Я пробовал разные настройки (OneWay против TwoWay), но пока ничего не работает. Вот отрывок из моего 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 не были связаны?





Измените атрибуты «IsSynchronizedWithCurrentItem» на «False».
Я думаю, что WPF настолько велик, что никто, кроме, может быть, Петцольда, не будет гуру :-)
Великолепно, хотя это вызвало другую проблему, я думаю, что смогу с этим поработать. Спасибо, Боб, ты, кажется, настоящий гуру WPF!