This article has been localized into Russian by the community.
Введение в TreeView
TreeView позволяет отображать древовидную структуру данных, каждый элемент которой представляет ветку в дереве. Каждая ветка может иметь детей, которые, в свою очередь, могут так же иметь детей. Если вы когда-либо использовали Windows Explorer (aka Проводник), Вы уже знаете как выглядит TreeView - это контрол, который показывает текущую структуру папок на компьютере в левой части Проводника.
TreeView WPF в сравнении с WinForms
Если Вам приходилось работать с TreeView в WinForms, вы имеете представление о том, как легко его использовать, но как сложно кастомизировать. В WPF дела обстоят немного наоборот, во всяком случае, новичкам: немного сложно начать работать, но НАМНОГО проще его кастомизировать. Как и остальные WPF контролы, TreeView безлик по дефолту, но его стиль можно кастомизировать практически бесконечно без особых усилий.
Как и в ListView, в TreeView определен свой тип элементов - TreeViewItem, который можно использовать, чтобы заполнить TreeView. Если вы пришли из мира WinForms, то возможно, что вы начнете с создания TreeViewItem и добавления их в свойтво Items. Это возможно, однако, поскольку это WPF, предпочтительнее забиндить TreeView на иерархическую структуру данных и потом использовать подходящий шаблон для отрисовки содержимого.
Мы покажем как сделать это двумя способами, и несмотря на то, что подход WinForms может показаться простым выбором на первый взгляд, вам обязательно надо попробовать подход WPF - на долгой дистанции он предлагает бОльшую гибкость и впишется лучше в остальной код WPF приложений.
Резюме
WPF TreeView достаточно сложный контрол. Первый пример, который показан в следующей главе, может показаться простым, но копнув глубже, вы поймете сложность этого контрола. В замен TreeView наградит вас отличной гибкостью и полезностью. Чтобы показать все его возможности, мы выделили цикл статей по TreeView в отдельную категорию. Кликните Next для начала.