可以使用System.Windows.Media中的LoginTreeHelper和VisualTreeHelper对视觉树和逻辑树进行遍历。
1、观察可以看到逻辑树其实就是跟xaml的布局结构是一样的(应用程序中所有控件的元素的层次结构)。视觉树则包含了一堆东西
2、逻辑树管理路由事件、依赖属性、属性继承
3、视觉树渲染细节:颜色、动画、布局,边框、背景、布局、样式,暴露视觉的实现细节
4、模板内的元素不包含在逻辑树中
5、WPF启动程序的根元素均为Application
6、逻辑树注重结构,视觉树包含渲染的所有细节
7、逻辑树可以在构造函数中遍历,可视化树就必须在至少一次布局后
使用工具snoop可以观察到视觉树(使用:运行软件->将该软件右边的十字架拉到在运行的wpf窗体中)
-- 简单的Grid面板下面一个Button
-- Lable的可视化树