WPF中可视化树和逻辑树的区别是什么?
WPF 用户界面的元素是分层相关的。 这种关系称为逻辑树。 一个元素的模板由多个视觉元素组成。 这棵树被称为 VisualTree。
逻辑树 描述了用户界面元素之间的关系。 逻辑树负责:
- 继承 DependencyProperty 值
- 解析 DynamicResources 引用
- 查找绑定的元素名称
- 转发路由事件
视觉树包含所有逻辑元素,包括每个元素模板的所有视觉元素。 视觉树负责:
- 渲染视觉元素
- 传播元素不透明度
- 传播布局和渲染变换
- 传播 IsEnabled 属性。
- 进行命中测试
- 相对来源 (FindAncestor)