开发手册 欢迎您!
软件开发者资料库

WPF - Elements Tree

WPF Elements Tree - 从概述,环境设置,Hello World,XAML概述,元素树,依赖关系属性,路由事件,控件,布局,布局嵌套,输入,命令行,数据绑定,资源等简单易懂的步骤学习WPF ,模板,样式,触发器,调试,自定义控件,异常处理,本地化,交互,2D图形,3D图形,多媒体。

有许多技术,其中元素和组件以树结构排序,以便程序员可以轻松处理对象并更改应用程序的行为. Windows Presentation Foundation(WPF)具有对象形式的综合树结构.在WPF中,有两种方法可以将完整的对象树概念化并减去;

  • 逻辑树结构

  • 可视树结构

借助这些树结构,您可以轻松创建和识别UI元素之间的关系.大多数情况下,WPF开发人员和设计人员使用过程语言来创建应用程序或在XAML中设计应用程序的UI部分,同时牢记对象树结构.

逻辑树结构

在WPF应用程序中,XAML中UI元素的结构表示逻辑树结构.在XAML中,UI的基本元素由开发人员声明. WPF中的逻辑树定义以下 :

  • 依赖属性

  • 静态和动态资源

  • 绑定其名称上的元素等.

让我们看看下面的例子,其中有一个按钮并创建一个列表框.

                                                            

如果查看XAML代码,您将看到一个树结构,即根节点是Window,而在根节点内,只有一个孩子,就是StackPanel.但StackPanel包含两个子元素,按钮和列表框.列表框还有三个子列表框项.

可视树结构

在WPF中,可视树的概念描述了可视对象的结构,由Visual Base类表示.它表示呈现给输出屏幕的所有UI元素.

当程序员想要为特定控件创建模板时,他实际上是渲染该控件的可视树.对于那些因性能和优化原因而想要绘制较低级别控件的人来说,可视化树也非常有用.

在WPF应用程序中,可视化树用于 :

  • 渲染可视对象.

  • 渲染布局.

  • 路由事件主要沿着可视化树而不是逻辑树传播.

要查看包含按钮和列表框的上述简单应用程序的可视树,让我们编译并执行XAML代码,您将看到以下窗口.

Visual Tree Structure

当应用程序运行时,您可以看到正在运行的可视树Live Visual Tree窗口中的应用程序,显示此应用程序的完整层次结构,如下所示.

logical_tree

可视化树通常是逻辑树的超集.您可以在此处看到所有逻辑元素也存在于可视化树中.所以这两棵树实际上只是组成UI的同一组对象的两个不同视图.

  • 逻辑树离开了很多细节,使您能够专注于用户界面的核心结构,并忽略其确切呈现方式的详细信息.

  • 逻辑树是您用来创建用户界面的基本结构的.

  • 如果您专注于演示文稿,那么可视树将会很有用.例如,如果您希望自定义任何UI元素的外观,则需要使用可视化树.