Silverlight 中两个方便 DOM 查找的扩展方法

文/RChen  出处/博客园

Silverlight 中有所谓视觉树(Visual Tree,又称为可视树)的概念,而 VisualTree 是一个运行时的概念,其实可以理解为一种 DOM.
其内容的来源可以是几个方面:

1.静态 XAML 文件中创建的。
2.用 XamlReadler.Load() 方法动态加载的 XAML 内容。
3.完全通过代码创建的控件。

在 XAML 中我们通过 x:Name 来标识一个元素,但是光靠 Name 不能解决全部的问题,特别对于一些动态的场景而言。
有时候我们还需要根据控件的类型或者其他条件来查找节点。
比如:
    “给我找出当前这个控件在哪个 Tab 页(TabItem)中”
    “找出祖先控件中谁实现了 IDialogHost 接口(准备显示一个对话框加载当前用户控件的内容)”
等等类似的需求。

于是就有了下面两个方法:
Code
使用方法很简单。比如(还是拿对话框来举例):
Code
over.

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Silverlight] 的这些文章也感兴趣:

Silverlight资源集合  Silverlight 2学习教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具
Silverlight 2学习教程(二):开发简单的Silverlight 2应用程序  Silverlight 2 Beta 2 新特性详解
Nokia sees the Silverlight  一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)
一步一步学Silverlight 2系列(8):使用样式封装控件观感  Silverlight 2 Beta 1学习资源
详解Silverlight 2中的独立存储(Isolated Storage)  Silverlight 相册DEMO--ImageSnipper(V2)
在Silverlight中如何访问外部xap文件中UserControl  Silverlight 2 Beta 2 Releasing Soon!
设计silverlight的MediaPlay控件  一步一步学Silverlight 2系列(2):基本控件
Silverlight技巧/诀窍: 创建和使用Silverlight和WPF 用户控件  设计一个silverlight的Button控件补完设计
一步一步学Silverlight 2系列(9):使用控件模板  Silverlight中也能做单元测试
silverlight 页面导航(跳转)方法集合  使用Silverlight开发用户贡献内容的视频站点的快速入门包