2009-06-25 2 views
2

alt textWPF Treeview Пункт выбора Проблема

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

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

+0

Можете ли вы разместить XAML у вас для treeView? –

ответ

6

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

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

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

treeViewInstance.ItemContainerGenerator.ContainerFromItem(yourDataItem) as TreeViewItem; 

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

НТН,

Dennis

0

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

Другие мудрые события в событии расширения дерева или событие захвата мыши получают текущий корневой узел, а затем выбирают его первого дочернего элемента с индексом, таким как rootNode.child [0] ... установить это как выбранный True или Isfocused и выполнить операцию, которая предназначенный для его щелчка, вы заставите пользователя почувствовать, что он выбран.

Смежные вопросы