Как отменить привязку выбора двух отдельных комбинированных списков, которые связаны с одним и тем же объектом? - PullRequest
1 голос
/ 09 ноября 2011

У меня есть два отдельных поля со списком WPF, оба они привязываются к одному и тому же объекту, чтобы заполнить их значения. Однако, когда я изменяю выделение в одном комбинированном ящике, выделение в другом комбинированном ящике изменяется на то же, что и первое, и наоборот. Это не то поведение, которое я хочу, я хочу только привязать содержимое списков со списком к одному источнику, не отражая их выбор. Я привязываюсь к BindingList. Для привязки я использую

ItemsSource="{Binding}"

и

comboBox1.DataContext = bindingList;

Что мне нужно сделать, чтобы отменить связь между этими двумя списками?

1 Ответ

3 голосов
/ 10 ноября 2011

Способ, которым они на самом деле работают, связывает сцены, заключая коллекцию в экземпляр ICollectionView, который поддерживает текущий выбранный элемент (среди прочего).

Чтобы получить желаемое поведение, просто установите DataContext каждого поля со списком на:

new ListCollectionView(bindingList);
...