View and Select Items Using a Tree
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF" Height="200" Width="300">
<DockPanel LastChildFill="True">
<DockPanel.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="Selected" Handler="TreeViewItem_Selected" />
</Style>
</DockPanel.Resources>
<Button Click="Button_Click" DockPanel.Dock="Bottom" Content="Show Selected" MaxHeight="23" MaxWidth="100" />
<TreeView FontSize="16" Name="tvTree">
<TreeViewItem Header="A" IsExpanded="True">
<TreeViewItem Header="1">
<TreeViewItem Header="2" />
<TreeViewItem Header="3" />
</TreeViewItem>
<TreeViewItem Header="B" IsExpanded="True">
<TreeViewItem Header="11" />
<TreeViewItem Header="22" />
</TreeViewItem>
</TreeViewItem>
<TreeViewItem Header="C">
<TreeViewItem Header="E">
<TreeViewItem Header="111" />
<TreeViewItem Header="222" />
<TreeViewItem Header="333" />
</TreeViewItem>
<TreeViewItem Header="F">
<TreeViewItem Header="1111" />
<TreeViewItem Header="2222" />
<TreeViewItem Header="333" />
</TreeViewItem>
</TreeViewItem>
</TreeView>
</DockPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub TreeViewItem_Selected(sender As Object, e As RoutedEventArgs)
Dim item As TreeViewItem = TryCast(sender, TreeViewItem)
If item Is e.OriginalSource Then
Console.WriteLine(item.Header)
Console.WriteLine(item.Items.Count)
Else
Console.WriteLine("Parent of selected")
Console.WriteLine(item.Header)
Console.WriteLine(item.Items.Count)
End If
End Sub
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim item As TreeViewItem = TryCast(tvTree.SelectedItem, TreeViewItem)
If item IsNot Nothing Then
MessageBox.Show("Item selected: " & Convert.ToString(item.Header), Title)
Else
MessageBox.Show("No item selected", Title)
End If
End Sub
End Class
End Namespace
Related examples in the same category