针对面试官提出的WPF逻辑树和视觉树

来源:互联网 发布:网络正常微博刷新不了 编辑:程序博客网 时间:2024/05/24 05:34

1.根据工具看

imageimage

左边这张图显示的是视觉树,右边这张显示的是逻辑树。

我们看出以下特性

  • WPF启动程序的根元素均为Application
  • 逻辑树与XAML的布局结构是相同的
  • 视觉树是根据控件的模板来呈现的,我们很难猜测视觉树的结构,因为控件还可以自定义模板 

可视化树

可视化树代表你界面上所有的渲染在屏幕上的元素。可视化树用于渲染,事件路由,定位资源(如果该元素没有逻辑父元素)等等等等。向上或者乡下遍历可视化树可以简单的使用VisualTreeHelper和简单的递归方法。

逻辑树

逻辑树表示UI的核心结构。和XAML文件中定义的元素近乎相等,排除掉内部生成的那些用来帮助渲染的可视化元素。WPF用逻辑树来决定依赖属性,值继承,资源解决方案等。

0 0
原创粉丝点击