Элементы управления в WPF. Элемент TreeView

Элемент TreeView — это наследник ItemsControl, которые представляет список объектов в виде раскрывающегося дерева. Этот элемент управления предоставляет нам собственные свойства SelectedItem, SelectedValue и SelectedValuePath, а также событие SelectedItemChanged схожие по работе со свойствами и событиями класса Selector.

Здесь мы рассмотрим возможности, которые нам предоставляет именно элемент TreeView, не затрагивая вопросы использования свойств и событий родительского класса ItemsControl. Поэтому, прежде, чем приступать к изучению этого материала, ознакомьтесь с этой частью руководства в которой рассмотрены основные моменты по работе со списками элементов в WPF в принципе.

Элемент TreeView

Рассмотрим простой пример создания дерева элементов в WPF:

<TreeView>
    <TreeViewItem Header="Телефоны" IsExpanded="True">
        <TreeViewItem Header="iPhone"/> 
        <TreeViewItem Header="Samsung" IsExpanded="True">
            <TreeViewItem Header="Galaxy"/>
            <TreeViewItem Header="Galaxy Note"/>
        </TreeViewItem>
    </TreeViewItem>
    <TreeViewItem Header="Ноутбуки" IsExpanded="True">
        <TreeViewItem Header="ASUS"/>
        <TreeViewItem Header="MacBook"/>
        <TreeViewItem Header="Aser"/>
    </TreeViewItem>
</TreeView>

Каждый элемент дерева представляется в виде объекта TreeViewItem для которого мы определяем заголовок (свойство Header) и указываем будет ли раскрыт узел дерева, если он содержит дочерние элементы (свойство IsExpanded). В данном случае мы полностью раскрываем дерево и в приложении оно будет выглядеть следующим образом:Элемент TreeViewОбъекты типа TreeViewItem также являются наследниками ItemsControl и могут содержать, в принципе, любые объекты, например:

<TreeView >
    <TreeViewItem Header="Телефоны" IsExpanded="True">
        <TreeViewItem Header="iPhone">
            <StackPanel>
                <TextBlock FontSize="14">iPhone 25</TextBlock>
                <TextBlock FontSize="10">Последняя модель</TextBlock>
            </StackPanel>
        </TreeViewItem>
        <TreeViewItem Header="Samsung" IsExpanded="True">
            <TreeViewItem Header="Galaxy"/>
            <TreeViewItem Header="Galaxy Note"/>
        </TreeViewItem>
    </TreeViewItem>
    <TreeViewItem Header="Ноутбуки" IsExpanded="True">
        <TreeViewItem Header="ASUS"/>
        <TreeViewItem Header="MacBook"/>
        <TreeViewItem Header="Aser"/>
    </TreeViewItem>
</TreeView>

здесь узел с заголовком iPhone содержит произвольный объект — панель StackPanel с двумя текстовыми блоками:

Элемент TreeViewИтого

Элемент TreeView позволяет отобразить список объектов в виде иерархической структуры — дерева. Каждый узел дерева может содержать произвольное количество объектов, вложенных друг в друга. Чтобы программно раскрыть узел TreeView используется свойство IsExpanded объекта TreeViewItem.

Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии