РАЗЫСКИВАЕТСЯ Два независимых экземпляра одного и того же пользовательского элемента управления, что и содержимое TabItem (раздел «WPF не уважает мой код») - PullRequest

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Проблема здесь в том, что оба UserControls используют один и тот же List<_ListViewItem> в качестве своего ресурса в этом коде:

<UserControl.Resources>
    <CollectionViewSource x:Key="_collectionViewSource" Source="{Binding Source={StaticResource _xamlReference_listViewContent}}" />
</UserControl.Resources>

когда вы делаете это, Checkbox на обоих элементах управления привязан к то же свойство _IsActive того же объекта, поэтому изменение одного изменит другое. Один из способов исправить это (см. Комментарии) - установить привязку флажка к OneWay следующим образом:

<CheckBox IsChecked="{Binding Path=_IsActive, Mode=OneWay}" />
0 голосов
/ 05 августа 2020

Использовать шаблон MVVM. Имейте две модели представления (по одной для каждой вкладки), которые разделяют состояние, связанное с проверкой флажков, и привязывают TabItem DataContext к этим моделям представления.

Вообще говоря, вам следует избегать WPF magi c когда вы можете использовать привязки / модели просмотра для решения ваших проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...