Como criar treeviews simples ou complexas
Este exemplo mostra como criar controles TreeView simples ou complexos.
Um TreeView consiste em uma hierarquia de controles TreeViewItem, que pode conter cadeias de texto simples e também conteúdo mais complexo, como controles Button ou um StackPanel com conteúdo incorporado. Você pode definir explicitamente o conteúdo TreeView ou uma fonte de dados pode fornecer o conteúdo. Este tópico fornece exemplos desses conceitos.
Exemplo
A propriedade Header do TreeViewItem contém o conteúdo que o TreeView exibe para esse item. Um TreeViewItem também pode ter controles TreeViewItem como seus elementos filho e você pode definir esses elementos filho usando a propriedade Items.
O exemplo a seguir mostra como definir explicitamente TreeViewItem conteúdo definindo a propriedade Header como uma cadeia de caracteres de texto.
<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>
O exemplo a seguir mostra como definir elementos filhos de um TreeViewItem, através da definição de Items que são controlos 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>
O exemplo a seguir mostra como criar um TreeView onde um XmlDataProvider fornece conteúdo TreeViewItem e um HierarchicalDataTemplate define a aparência do conteúdo.
<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}"/>
O exemplo a seguir mostra como criar um TreeView onde o conteúdo TreeViewItem contém DockPanel controles os quais contêm conteúdo incorporado.
<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>
Ver também
- TreeView
- TreeViewItem
- Visão geral do TreeView
- Tópicos "Como Fazer"
.NET Desktop feedback