<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.cs using System; using System.Windows; using System.Windows.Controls; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void TreeViewItem_Selected(object sender, RoutedEventArgs e) { TreeViewItem item = sender as TreeViewItem; if (item == e.OriginalSource) { Console.WriteLine(item.Header); Console.WriteLine(item.Items.Count); } else { Console.WriteLine("Parent of selected"); Console.WriteLine(item.Header); Console.WriteLine(item.Items.Count); } } private void Button_Click(object sender, RoutedEventArgs e) { TreeViewItem item = tvTree.SelectedItem as TreeViewItem; if (item != null) { MessageBox.Show("Item selected: " + item.Header, Title); } else { MessageBox.Show("No item selected", Title); } } } }