WPF:直接绑定到控件

时间:2009-11-07 11:15:18

标签: .net wpf binding

我需要将UserControl的属性直接绑定到另一个控件,而不是该控件上的任何特定属性。实现这一目标的最佳方法是什么?我尝试了Binding属性的各种组合无济于事。

对于某些上下文,UserControl具有Next属性,用于指定导航层次结构中下一个控件;它与TabIndex类似,但对于上下文敏感的导航。

<c:MyControl x:Name="First" Next="{Binding ???}" />
<c:MyControl x:Name="Second" />

通过阅读文档,我认为我应该能够做到:{Binding Source=Second, BindsDirectlyToSource=True},但这不起作用。

2 个答案:

答案 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可能已涵盖您所需的功能。