Разверните treeViewItem автоматически - PullRequest
2 голосов
/ 20 июля 2010

У меня есть TreeView, который я заполнил списком TreeViewItem из коллекции (используя привязку), я связался с событием TreeView «Развернуть», чтобы развернуть его и отобразить их потомки, теперь моя цель - получить последний TreeViewItemдоступ и инициализация TreeView последним обращенным к treeViewItem.Я могу получить последний TreeViewItem, с которым консультировались, и их детей, но не могу развернуть его автоматически.Я использую этот метод, но он всегда возвращает null.

TreeViewItem item = control.ItemContainerGenerator.ContainerFromItem (lastItem) as TreeViewItem;item.IsExpanded = true;

элемент всегда имеет значение null, isExpanded дозы не работают, а lastItem - строка (текст, который вы видите на экране: восстановлено treeViewItem.datacontext).

Ответы [ 2 ]

2 голосов
/ 20 июля 2010

Вы должны прочитать эту статью CodeProject о подходе TreeView MVVM , которая упростит всю вашу работу с элементами управления TreeView и TreeViewItem.

0 голосов
/ 03 июля 2012

Вы пытались использовать метод Expand Subtree для класса TreeViewItem?

Метод ExpandSubtree ():

Расширяет элемент управления TreeViewItem и все его дочерние элементы TreeViewItem.

Пример:

TreeViewItem item = new TreeViewitem();
item.ExpandSubtree();
...