Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Поиск TreeViewItem в TreeView.


Автор: zhiday 4.12.2011, 21:32
Доброго времени суток, вопрос в следующем:

Код

var treeViewItem = (TreeViewItem)generator.ContainerFromItem(node);


В этой строчке node - это экземпляр моего класса Node, который содержит поле для коллекции детей того же типа.
После отображения дерева элементов в TreeView, мне нужно иметь возможность программно выбрать один из узлов:

Код

treeViewItem.IsSelected = true;   


Всё работает отлично, до тех пор пока я не захочу выбрать элемент на уровне вложенности отличном от первого, в связи 
с этим вопрос, как произвести такой же поиск, только по всему дереву вместе со всеми детьми и детьми детей и т.д?

Надеюсь, понятно спросил, заранее большое спасибо за помощь )

Автор: Gvozdin 4.12.2011, 22:20
Я так понимаю надо развернуть дерево до заданного узла?

Вот тут код который это делает: http://msdn.microsoft.com/en-us/library/ff407130.aspx#Y486

Но ещё могу порекомендовать перейти на MVVM, cделать байндинг на TreeViewItem.IsExpanded и TreeViewItems.IsSelected, тогда можно будет из кода выбирать и раскрывать нужные узлы не заморачиваясь.

Автор: zhiday 5.12.2011, 00:52
Спасибо, помогли, заработало)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)