阿拉伯顶峰
信息化时代,资源共享,谁不知.com
计算机世界,程序设计,我选择.net
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
欢迎交流E-Mail/MSN统一账户
职业:软件工程师
位置:中国 深圳
<
2008年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
与我联系
发短消息
搜索
随笔分类
(17)
asp.net(4)
C# 编程(2)
Dotnetnuke(1)
Sharepoint(3)
Silverlight
WCF(3)
WPF(4)
软件工程
随笔档案
(23)
2008年6月 (6)
2008年5月 (1)
2008年4月 (3)
2008年3月 (3)
2008年2月 (1)
2008年1月 (1)
2007年12月 (2)
2007年9月 (1)
2007年8月 (5)
相册
asp.net
大展年会
收藏夹
(4)
asp.net(2)
其它(1)
网页设计技巧(1)
个人网站
c# 中文开源社区
CSharp Open Source In China
大拇指
承接欧美外包门户
你的企业解决方案
Your Enterprise Solution
WPF 中的树应用
MSDN中描述:
在许多技术中,元素和组件按照树结构的形式组织,在这种结构中,开发人员可以直接操作树来影响应用程序的呈现。Windows Presentation Foundation (WPF) 还使用了多个树结构术语来定义程序元素之间的关系。
在项目中,我们要使WPF应用程序多语言。那么就要了解要多语言的内容在xaml文件中的位置。那么我们必须要读取xaml文件信息。
MSDN中描述:
WPF 中主要的树结构是元素树。如果使用 XAML 创建应用程序页,则将基于标记中元素的嵌套关系创建树结构。如果使用代码创建应用程序,则将基于为属性(实现给定元素的内容模型)指定属性值的方式创建树结构。在 Windows Presentation Foundation (WPF) 中,处理和使用概念说明元素树的方法实际上有两种:即逻辑树和可视化树。逻辑树与可视化树之间的区别并不始终很重要,但在某些 WPF 子系统中它们可能会偶尔导致问题,并影响您对标记或代码的选择。
尽管您不会始终直接操作逻辑树或可视化树,但理解树之间如何进行交互的概念也是理解 WPF 中的属性继承和事件路由如何工作的一种方法。
WPF是在xml的标准上实现的,它有两种方法处理元素树(逻辑树、可视树)。而在查找资源时我们通常使用逻辑树。在代码中,我们要读取xaml文件,我们要解剖window对象。然后一成一成的分析window里面的子对象。
MSDN中有描述:
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)).
Tag标签:
WPF
posted on 2008-06-18 20:42
阿拉伯顶峰
阅读(54)
评论(0)
编辑
收藏
所属分类:
WPF
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索
相关文章:
配置Visual Studio 以调试.net framework的源代码
WPF简介
WPF天天见系列
Windows Live Messenger 9.0 将包含WPF特效
Silverlight 2 Beta 2功能透露 WPF框架兼容性增强
WPF 和 SilverLight 是不是同一个东西啊。
求助 WPF如何拖动无边框窗体
欢迎您加入WPF小组!
WPF和Silverlight有什么区别?
相关链接:
所属分类的其他文章:
WPF 开发前学习(一)
WPF 开发前学习(二)
WPF 遇到的性能问题
WPF 中的树应用
最新IT新闻:
微软首次打破先例 Windows 7不再改名
亚马逊EC2云计算计划支持Windows操作系统
鲍尔默失望变希望 幸亏当初未收购雅虎
微软12月举办硬件工程大会 Windows7将首次亮相
电脑程序与12位真人聊天 “艾尔博特”骗过3人