我需要将UserControl
的属性直接绑定到另一个控件,而不是该控件上的任何特定属性。实现这一目标的最佳方法是什么?我尝试了Binding
属性的各种组合无济于事。
对于某些上下文,UserControl
具有Next
属性,用于指定导航层次结构中下一个控件;它与TabIndex
类似,但对于上下文敏感的导航。
<c:MyControl x:Name="First" Next="{Binding ???}" />
<c:MyControl x:Name="Second" />
通过阅读文档,我认为我应该能够做到:{Binding Source=Second, BindsDirectlyToSource=True}
,但这不起作用。
答案 0 :(得分:12)
ElementName属性是您的friend
答案 1 :(得分:2)
ArildF的答案 {Binding ElementName = Second} 是您问题的最佳直接答案,但您是否考虑过使用WPF的内置导航功能?
<c:MyControl x:Name="First" KeyboardNavigation.TabIndex="1" />
<c:MyControl x:Name="Second" KeyboardNavigation.TabIndex="2" />
同时退房:
KeyboardNavigationMode enum
KeyboardNavigation.DirectionalNavigation / TabNavigation / ControlNavigation
KeyboardNavigation.IsTabStop
使用&lt; Grid&gt;而不是&lt; DockPanel&gt;保持控制按自然顺序
WPF可能已涵盖您所需的功能。