Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Print Logical 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.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Collections Namespace WPFTrees   Public Partial Class Window1     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub     Public Sub PrintLogicalTree(obj As [Object])       If TypeOf obj Is FrameworkElement Then         Dim element As FrameworkElement = DirectCast(obj, FrameworkElement)         Console.WriteLine(element.[GetType]().ToString())         Dim children As IEnumerable = LogicalTreeHelper.GetChildren(element)         For Each child As [Object] In children           PrintLogicalTree(child)         Next       End If     End Sub     Private Sub buttonPrint_Click(sender As [Object], e As RoutedEventArgs)       PrintLogicalTree(Me.button1)     End Sub   End Class End Namespace