最佳答案
根据 MSDN 上的 参考标记扩展页面,x:Reference
引用 XAML 标记中其他地方声明的实例。引用元素的 x: Name。
根据 MSDN 上的 Binding.ElementName 属性页面,ElementName
感兴趣元素的 Name 属性或 x: Name Directive 的值。
回顾第一页的备注部分:
X: 参考文献和 WPF
在 WPF 和 XAML2006中,元素引用由 ElementName 绑定的框架级特性处理。对于大多数 WPF 应用程序和方案,仍应使用 ElementName 绑定。本一般指南的例外情况可能包括存在数据上下文或其他范围界定考虑因素,使得数据绑定不切实际以及不涉及标记编译的情况。
为了完整起见,以下是 ElementName
页面备注部分的一部分:
当您希望绑定到应用程序中另一个元素的属性时,此属性非常有用。例如,如果希望使用 Slider 控制应用程序中另一个控件的高度,或者希望将控件的 Content 绑定到 ListBox 控件的 SelectedValue 属性。
现在,虽然我完全知道什么时候以及如何使用 ElementName
属性,但是我不完全理解它和 x:Reference
标记扩展之间的区别。有没有人能解释一下,特别是对 x:Reference
备注部分的最后一句话进行详细说明?:
本一般指南的例外情况可能包括存在数据上下文或其他范围界定考虑因素,使得数据绑定不切实际以及不涉及标记编译的情况。