Print Visual Tree : UI Element « Windows Presentation Foundation « C# / C Sharp






Print Visual Tree

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

  }

}

   
    
    
    
  








Related examples in the same category

1.Parent and child timelines with default HoldEnd FillBehaviorParent and child timelines with default HoldEnd FillBehavior
2.Freezables and elementFreezables and element
3.Define a resource at the page root level on a FrameworkElement and reference itDefine a resource at the page root level on a FrameworkElement and reference it
4.Print Logical TreePrint Logical Tree
5.Find enclosure componentFind enclosure component
6.Logical Visual Tree SampleLogical Visual Tree Sample
7.About Dialog with Tree WalkingAbout Dialog with Tree Walking
8.Point Hit Test with VisualTreeHelper.HitTestPoint Hit Test with VisualTreeHelper.HitTest
9.Find inner visual elementFind inner visual element
10.Print Visual(Canvas)Print Visual(Canvas)
11.Change control background in mouse enter and leaveChange control background in mouse enter and leave
12.Changing graphical elementsChanging graphical elements
13.Change the Visibility property of a UIElement.Change the Visibility property of a UIElement.
14.Change FillChange Fill
15.Update Focused Field for FrameworkElement
16.Find Visual Child
17.Visual Capture Util
18.Is Logical Ancestor Of