Как изменить способ обработки выбора в WPF TreeView - PullRequest
0 голосов
/ 19 августа 2011

когда я удаляю элемент, который в данный момент выбран из TreeView, автоматически выбирается родительский элемент.Я хотел бы изменить это поведение, чтобы выбрать предыдущего или следующего ребенка.Я действительно не знаю, с чего начать ...

Любая идея о том, как этого добиться, была бы великолепна!

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Вы можете установить SelectedItem, введя свойство, такое как IsSelected, в класс или модель datacontext вашего дерева.

Предполагая, что вы привязываете иерархию класса TreeViewItemModel к TreeView, вам нужновыполните следующие действия:

  1. Добавьте запись IsSelected propertyb в TreeViewItemModel.Не забудьте поднять уведомление об изменении свойства в установщике IsSelected.

  2. Введите это в ресурсы TreeView ...

    <TreeView.Resources>
       <Style TargetType="{x:Type TreeViewItem}">
          <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
       </Style>
    </TreeView.Resources>
    
  3. После удаления узла установите следующее или предыдущее древовидное представление TreeViewItemModel объектов дочернего объекта IsSelected как истинное.

Дайте мне знать, если это поможет.

0 голосов
/ 19 августа 2011

TreeView имеет свойство Items, которое имеет тип ItemCollection. Этот тип имеет несколько хороших событий, таких как CollectionChanged или CurrentChanged. может быть, вы должны лопать таким образом?

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