3

在我使用的 wpf 窗口DataContext="{Binding RelativeSource={RelativeSource Self}}"中,我可以绑定到例如 UserControl UserControl="{Binding ElementName=Information}"

当我删除 DataContext 行时,绑定到 ElementName 也有效。
此外,当我设置另一个 DataContext 时,例如this.DataContext = new MainViewModel();它可以工作。

那么当不使用 DataContext 时,如何通过 ElementName 进行绑定?

4

1 回答 1

4

使用 时ElementName,该Binding.Source值被隐式设置为它所引用的对象。这是我们Bind 无需设置DataContext. 从 MSDN 上的Binding.ElementName 属性页面:

默认情况下,绑定继承由 DataContext 属性指定的数据上下文(如果已设置)。但是,ElementName 属性是您可以显式设置绑定源并覆盖继承的数据上下文的方法之一。

于 2013-10-28T16:46:30.680 回答