在 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)的,所以一定程度上性能也不那么好。

参考资料


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

查看所有标签

猜你喜欢:

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

创新者

创新者

[美] 沃尔特 · 艾萨克森 / 关嘉伟、牛小婧 / 中信出版社 / 2016-6 / 88.00

讲述了计算机和互联网从无到有的发展历程,并为我们生动地刻画出数字时代的创新者群像。 在近200年的数字化进程中群星闪耀,艾萨克森从一个计算机程序的创造者、诗人拜伦之女埃达说起,细数了这一群站在科学与人文交叉路口的创新者,他们包括通用型电子计算机的创造者奠奇利、科学家冯·诺依曼、仙童半导体公司的“八叛逆”、天才图灵、英特尔的格鲁夫、微软的比尔·盖茨、苹果公司的乔布斯、谷歌的拉里·佩奇等。《创新......一起来看看 《创新者》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换