Mega Code Archive

 
Categories / C# / WPF
 

Print Visual Tree

<Window x:Class="WPFTrees.Window1"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   Title="WPFTrees" Height="304" Width="702" Name="MyWindow">   <DockPanel Name="DockPanel1">     <StackPanel DockPanel.Dock="Left" Margin="6,4,4,4" >       <Canvas Name="canvas1">         <Button Name="button1">           <Ellipse Name="ellipse1" Height="100" Width="100" Fill="Red"></Ellipse>         </Button>       </Canvas>     </StackPanel>     <Button DockPanel.Dock="Left" Height="20" Width="100"        HorizontalAlignment="Left" Margin="1,4,4,4" Click="buttonPrint_Click">Print Trees</Button>   </DockPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Collections; namespace WPFTrees {   public partial class Window1 : System.Windows.Window   {     public Window1()     {       InitializeComponent();     }     public void PrintVisualTree(Visual visual)     {       Console.WriteLine(visual.GetType().ToString()) ;       for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)       {         PrintVisualTree((Visual)VisualTreeHelper.GetChild(visual, i));       }     }     private void buttonPrint_Click(Object sender, RoutedEventArgs e)     {       PrintVisualTree(this.button1);     }   } }