根据 MSDN 上的x:Reference Markup Extension页面,x:Reference
引用在 XAML 标记中的其他位置声明的实例。引用指的是元素的 x:Name。
根据 MSDN 上的Binding.ElementName 属性页面,ElementName
感兴趣元素的 Name 属性或 x:Name 指令的值。
回顾第一页的备注部分:
x:参考和 WPF
在 WPF 和 XAML 2006 中,元素引用由 ElementName 绑定的框架级功能处理。对于大多数 WPF 应用程序和方案,仍应使用 ElementName 绑定。本一般指南的例外情况可能包括存在数据上下文或其他范围考虑因素导致数据绑定不切实际以及不涉及标记编译的情况。
为了完整起见,以下是页面上备注部分的一部分ElementName
:
当您想要绑定到应用程序中另一个元素的属性时,此属性很有用。例如,如果您想使用 Slider 来控制应用程序中另一个控件的高度,或者如果您想将控件的 Content 绑定到 ListBox 控件的 SelectedValue 属性。
现在,虽然我完全了解何时以及如何使用该ElementName
属性,但我并不完全理解它与x:Reference
标记扩展之间的区别。x:Reference
任何人都可以解释这一点,特别是扩展评论部分显示的最后一句话吗?:
本一般指南的例外情况可能包括存在数据上下文或其他范围考虑因素导致数据绑定不切实际以及不涉及标记编译的情况。