WPF Treeview Элемент выберите Проблема

2

Изображение 174551

У меня есть Treeview (показано выше) в моем приложении, я связал его с коллекцией... теперь проблема заключается в том, что каждый раз, когда я расширяю Colorodo по умолчанию, Aspen должен быть выбран, значит всякий раз, когда я расширяю первый элемент, который должен быть выбран Node.

Любые идеи/предложение Пожалуйста,

  • 0
    Можете ли вы опубликовать свой XAML для treeView?
Теги:
wpf
treeview

2 ответа

6

К сожалению, как я уверен, вы обнаружили, что вы не можете установить свойство treeViewInstance.SelectedItem как это только для чтения.

В памяти каждый TreeViewItem имеет свойство IsSelected, которое вы можете установить. Вы пытаетесь прослушать разворот/сбой элементов и, возможно, установить это свойство. Не пытаясь этого сама, я не знаю, является ли это хорошим решением b) если оно даже работает.

Чтобы получить TreeViewItem, который является контейнером для элемента в коллекции, используйте

treeViewInstance.ItemContainerGenerator.ContainerFromItem(yourDataItem) as TreeViewItem;

Другая идея (как я это сделаю) - использовать ListBox/ListView и подделывать иерархическое представление. Создайте контроллер модели и элемент представления, оберните свои данные и выполните все это самостоятельно. Если вам нужна дополнительная информация, оставьте комментарий, и я выкопаю несколько примеров, чтобы помочь.

НТН,

Dennis

0

Есть два apporches, которые выбирают то, что вам нравится. i) исследуйте ItemTemplageSelector, не уверен, но может быть возможно сделать с ним работу.

В другом случае на событие расширения дерева или событие захвата мыши получите текущий корень node, а затем выберите его первого дочернего элемента с индексом, таким как rootNode.child [0]... установите это как Selected True или Isfocused and perfom operation, который предназначен для нажатия на вас, вы заставите пользователя почувствовать, что он выбран.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню