Объявление
protected IListПараметры
root | Корневой элемент, созданный в методе BuildRoot. |
Возвращает
IList
Описание
Переопределите этот метод, чтобы управлять созданием строк.
Этот метод вызывается при вызове Reload и каждый раз, когда элементы разворачиваются или сворачиваются. Реализация BuildRows по умолчанию обеспечивает кэширование расширенных строк на основе полного дерева и расширенного состояния элементов
.Для очень больших наборов данных или данных, которые часто меняются, может быть желательно создавать только строки TreeView, а не полное дерево. В этой ситуации переопределите этот метод, чтобы построить строки вручную. Если встречается свернутый родитель, потомки этого родителя можно опустить (поскольку они не видны). Установите дочерние элементы этого элемента с помощью метода CreateChildListForCollapsedParent().
При использовании этого подхода BuildRoot следует просто создать корневой элемент TreeViewItem (а не полное дерево). Вам нужно будет добавить собственного делегата в getNewSelectionOverride, чтобы обрабатывать изменения выбора. Также не забудьте переопределить GetAncestors() и GetDescendantsThatHaveChildren() и использовать данные модели для извлечения этой информации, иначе кадрирование и расширение поддеревьев не удастся.
При построении строк вручную не забудьте использовать строку поиска TreeView для фильтрации элементов.
Смотрите так же: BuildRoot, SetupParentsAndChildrenFromDepths, SetupDepthsFromParentsAndChildren, TreeViewItem.