WPF树应用是一个非常重要的知识点。这一知识,需要我们在学习WPF的过程中放在重点学习,以方便将来的应用。在许多技术中,元素和组件按照树结构的形式组织,在这种结构中,开发人员可以直接操作树来影响应用程序的呈现。#t#
Windows Presentation Foundation (WPF) 还使用了多个树结构术语来定义程序元素之间的关系。
在WPF树应用项目中,我们要使WPF应用程序多语言。那么就要了解要多语言的内容在xaml文件中的位置。那么我们必须要读取xaml文件信息。
WPF 中主要的树结构是元素树。如果使用 XAML 创建应用程序页,则将基于标记中元素的嵌套关系创建树结构。如果使用代码创建应用程序,则将基于为属性(实现给定元素的内容模型)指定属性值的方式创建树结构。在 Windows Presentation Foundation (WPF) 中,处理和使用概念说明元素树的方法实际上有两种:即逻辑树和可视化树。逻辑树与可视化树之间的区别并不始终很重要,但在某些 WPF 子系统中它们可能会偶尔导致问题,并影响您对标记或代码的选择。
尽管您不会始终直接操作逻辑树或可视化树,但理解树之间如何进行交互的概念也是理解 WPF 中的属性继承和事件路由如何工作的一种方法。
WPF树应用是在xml的标准上实现的,它有两种方法处理元素树(逻辑树、可视树)。而在查找资源时我们通常使用逻辑树。在代码中,我们要读取xaml文件,我们要解剖window对象。然后一成一成的分析window里面的子对象。
Windows Presentation Foundation (WPF) 中的大部分类都从四个类派生而来,这四个类在 SDK 文档中常常被称为基元素类。这些类包括 UIElement、FrameworkElement、ContentElement 和 FrameworkContentElement。DependencyObject 也是一个相关类,因为它是 UIElement 和 ContentElement 的通用基类。
UIElement 和 ContentElement 都是从 DependencyObject 派生而来
重点:Window对象也是DependencyObject类型。
1、递归window对象里面的子对象
- IEnumerable ienum =
this.GetChildren(WindowObj);- foreach (object obj in ienum)
- {
- DependencyObject
childVisual = obj as
DependencyObject;- ......
2、分析每个对象
- switch (obj.GetType().
FullName)- {
- case "System.Windows.
Controls.Label":- string labelContent=
(obj as Label).Content;- break;
- ......
3、LogicalTreeHelper 类
这个类为逻辑树遍历提供 GetChildren、GetParent 和 FindLogicalNode 方法。不清楚FindName是不是其中的一个。在使用FindName时,你可能发现FindName无效,那么可能是你动态添加控件的时候是否注册了控件
- (parentObj.RegisterName
(objname,obj)).
以上就是我们对WPF树应用的理解,希望对大家有所帮助。
分享文章:WPF树应用相关技巧总结
链接分享:http://www.mswzjz.cn/qtweb/news38/459138.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能