You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.9 KiB
69 lines
1.9 KiB
// ========================================================================
|
|
//
|
|
// Copyright (C) 2013-2014 MARC CHEVALDONNE
|
|
// marc.chevaldonne.free.fr
|
|
//
|
|
// Module : MainWindow.xaml.cs
|
|
// Author : Marc Chevaldonné
|
|
// Creation date : 2014-05-17
|
|
//
|
|
// ========================================================================
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
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.Navigation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace ex_065_006_LogicalTree_VisualTree
|
|
{
|
|
/// <summary>
|
|
/// Logique d'interaction pour MainWindow.xaml
|
|
/// </summary>
|
|
public partial class MainWindow : Window
|
|
{
|
|
public MainWindow()
|
|
{
|
|
InitializeComponent();
|
|
PrintLogicalTree(0, this);
|
|
}
|
|
|
|
protected override void OnContentRendered(EventArgs e)
|
|
{
|
|
base.OnContentRendered(e);
|
|
PrintVisualTree(0, this);
|
|
}
|
|
|
|
void PrintLogicalTree(int depth, object obj)
|
|
{
|
|
mLogicalTree.Text += string.Format("{0}{1}\n", new string(' ', depth*2), obj) ;
|
|
|
|
|
|
if (!(obj is DependencyObject)) return;
|
|
|
|
foreach (object child in LogicalTreeHelper.GetChildren(obj as DependencyObject))
|
|
PrintLogicalTree(depth + 1, child);
|
|
}
|
|
|
|
void PrintVisualTree(int depth, DependencyObject obj)
|
|
{
|
|
mVisualTree.Text += string.Format("{0}{1}\n", new string(' ', depth*2), obj);
|
|
|
|
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
|
|
{
|
|
PrintVisualTree(depth + 1, VisualTreeHelper.GetChild(obj, i));
|
|
}
|
|
}
|
|
}
|
|
}
|