在 WPF 中使用 x:Reference

栏目: ASP.NET · 发布时间: 6年前

内容简介:x:Reference 是 XAML 2009 中引入的功能,也算是比较早的功能了;ElementName 是 XAML 一开始出现便开始有的功能。二者在使用时在感觉上是比较相似的,但多数情况下都更有优势。本文将解释 x:Reference。典型的使用

x:Reference 是 XAML 2009 中引入的功能,也算是比较早的功能了;ElementName 是 XAML 一开始出现便开始有的功能。二者在使用时在感觉上是比较相似的,但多数情况下都更有优势。

本文将解释 x:Reference。

典型的使用 x:Reference 的例子是:

<object property="{x:Reference instancexName}" .../>

其中, instancexName 是另一个用 x:Name 指定名称的元素。

x:Reference 前面带了一个 x 命名空间前缀,所以可想而知这是与 x:Name 类似的 XAML 编译相关的标记。

在微软官方文档中描述为:

In WPF and XAML 2006, element references are addressed by the framework-level feature of ElementName binding. For most WPF applications and scenarios, ElementName binding should still be used. Exceptions to this general guidance might include cases where there are data context or other scoping considerations that make data binding impractical and where markup compilation is not involved.

用中文来描述就是说:以前在 XAML 2006 的时候,使用 ElementName 在绑定中获得对应到元素的绑定源,而这能适用于大多数情况。不过,如果绑定上下文中拥有不同的命名边界,那么这时使用 ElementName 可能无法找到绑定源。这时可以使用 x:Reference 替代。

你可以阅读 WPF 的 ElementName 在 ContextMenu 中无法绑定成功?试试使用 x:Reference! - walterlv 了解 x:Reference 替代 ElementName 解决绑定中命名边界的问题。

另外, ElementName 是在运行时通过查找可视化树或逻辑树来确定名称边界(NameScope)的,所以一定程度上性能也不那么好。

参考资料


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

未来是湿的

未来是湿的

[美] 克莱·舍基 / 胡泳、沈满琳 / 中国人民大学出版社 / 2009-5 / 39.80

一位妇女丢掉了手机,但征召了一群志愿者将其从盗窃者手中夺回。一个旅客在乘坐飞机时领受恶劣服务,她通过自己的博客发动了一场全民运动。在伦敦地铁爆炸案和印度洋海啸中,公民们用可拍照手机提供了比摄影记者更完备的记录。世界上最大的百科全书是由管理甚少的参与者们撰写的…… 不论在何处,你都能看见人们走到一起彼此分享,共同工作,或是发起某种公共行动。一部集众人之力的百科全书、一个丢失手机的传奇,这些事情......一起来看看 《未来是湿的》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试