Mega Code Archive

 
Categories / C# / WPF
 

Add Event handler in Panel Resource

<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);             }         }     } }