В соответствии с x: ссылочной расширением расширений на MSDN, x:Reference
Ссылки на экземпляр, объявленный в другом месте в разметке XAML. Ссылка ссылается на элемент x: Name.
В соответствии с Binding.ElementName Property на MSDN, ElementName
Значение свойства Name или x: Директива названия интересующего элемента.
Оглядываясь на раздел замечаний на первой странице:
x: ссылка и WPF
В WPF и XAML 2006 ссылки на элементы рассматриваются с помощью функции уровня элемента привязки ElementName. Для большинства приложений и сценариев WPF необходимо использовать привязку ElementName. Исключения из этого общего руководства могут включать случаи, когда есть контекст данных или другие соображения, которые делают невозможным привязку данных и где компиляция разметки не задействована.
Для полноты, вот часть раздела замечаний на странице ElementName
:
Это свойство полезно, если вы хотите привязать к свойству другого элемента вашего приложения. Например, если вы хотите использовать ползунок для управления высотой другого элемента управления в вашем приложении или если вы хотите связать содержимое своего элемента с свойством SelectedValue вашего элемента управления ListBox.
Теперь, когда я полностью осознаю, когда и как использовать свойство ElementName
, я не совсем понимаю разницу между ним и расширением разметки x:Reference
. Может ли кто-нибудь объяснить это и, в частности, расширить последнее предложение, указанное в разделе примечаний x:Reference
?:
Исключения из этого общего руководства могут включать случаи, когда есть контекст данных или другие соображения, которые делают невозможным привязку данных и где компиляция разметки не задействована.