Show / Hide Table of Contents

Практическое руководство. Создание простых или сложных элементов TreeView

В этом примере показано, как создавать простые и комплексные TreeView элементов управления.

Объект TreeView состоит из иерархии TreeViewItem элементов управления, которые могут содержать простые текстовые строки, а также более сложное содержимое, такие как Button элементов управления или StackPanel с внедренным содержимым. Можно явно определить TreeView содержимое или источник данных может предоставить содержимое. В этом разделе приведены примеры этих понятий.

Пример

Header Свойство TreeViewItem с содержимым, TreeView отображает для данного элемента. Объект TreeViewItem может также иметь TreeViewItem элементов управления, а его дочерние элементы можно определить эти дочерние элементы с помощью Items свойство.

В следующем примере показано, как явно определить TreeViewItem содержимого, задав Header свойство в текстовую строку.

<TreeView>
  <TreeViewItem Header="Employee1">
    <TreeViewItem Header="Jesper"/>
    <TreeViewItem Header="Aaberg"/>
    <TreeViewItem Header="12345"/>
  </TreeViewItem>
 <TreeViewItem Header="Employee2">
    <TreeViewItem Header="Dominik"/>
    <TreeViewItem Header="Paiha"/>
    <TreeViewItem Header="98765"/>
  </TreeViewItem>
</TreeView>

В следующем примере показано, как определить дочерние элементы TreeViewItem , определив Items , которые Button элементов управления.

<TreeView>
  <TreeViewItem Header ="Employee1">
    <TreeViewItem.Items>
      <Button>Jesper</Button>
      <Button>Aaberg</Button>
      <Button>12345</Button>
    </TreeViewItem.Items>
  </TreeViewItem>
  <TreeViewItem Header="Employee2">
    <TreeViewItem.Items>
      <Button>Dominik</Button>
      <Button>Paiha</Button>
      <Button>98765</Button>
    </TreeViewItem.Items>
  </TreeViewItem>
</TreeView>

В следующем примере показано, как создать TreeView где XmlDataProvider предоставляет TreeViewItem содержимого и HierarchicalDataTemplate определяет внешний вид содержимого.

<XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">
  <x:XData>
    <EmployeeData xmlns="">
      <EmployeeInfo>
        <EmployeeInfoData>Employee1</EmployeeInfoData>
        <Item Type="FirstName">Jesper</Item>
        <Item Type="LastName">Aaberg</Item>
        <Item Type="EmployeeNumber">12345</Item>
      </EmployeeInfo>
      <EmployeeInfo>
        <EmployeeInfoData>Employee2</EmployeeInfoData>
        <Item Type="FirstName">Dominik</Item>
        <Item Type="LastName">Paiha</Item>
        <Item Type="EmployeeNumber">98765</Item>
      </EmployeeInfo>
    </EmployeeData>
  </x:XData>
</XmlDataProvider>
<HierarchicalDataTemplate DataType="EmployeeInfo" 
  ItemsSource ="{Binding XPath=Item}">
  <TextBlock Text="{Binding XPath=EmployeeInfoData}" />
</HierarchicalDataTemplate>
<TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData}, 
  XPath=EmployeeInfo}"/>

В следующем примере показано, как создать TreeView где TreeViewItem содержимое содержит DockPanel элементов управления, которые содержат вложенное содержимое.

<TreeView>
  <TreeViewItem Header="Animals">
    <TreeViewItem.Items>
    <DockPanel>
      <Image Source="data\fish.png"/>
      <TextBlock Margin="5" Foreground="Brown"
                 FontSize="12">Fish</TextBlock>
    </DockPanel>
    <DockPanel>
      <Image Source="data\dog.png"/>
      <TextBlock Margin="5" Foreground="Brown"
                 FontSize="12">Dog</TextBlock>
    </DockPanel>
    <DockPanel>
      <Image Source="data\cat.png"/>
      <TextBlock Margin="5" Foreground="Brown"
                 FontSize="12">Cat</TextBlock>
    </DockPanel>
  </TreeViewItem.Items>
  </TreeViewItem>      
</TreeView>

См. также

  • TreeView
  • TreeViewItem
  • Обзор элемента управления "TreeView"
  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX