97

我有一个 WPF Window,在某个地方有一个ListView我绑定List<string>到的地方。

现在在我的某个地方ListView有 aTextBox并且Content属性设置为{Binding}.

但这是简写。如何编写完整的绑定以绑定到自身?

{Binding Path=Self}不起作用,也不起作用{Binding Self}(后者是前者的捷径)。

4

1 回答 1

265

简短的回答{Binding}不是“绑定到自身”捷径(在RelativeSource.Self的意义上)。相反,{Binding} 等效于 {Binding Path=.},它绑定到当前源。


详细说明:绑定具有路径。您可以执行“绑定到自身”,例如,通过使用

<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />

但是,这会将设置为控件本身,因此它将尝试访问xUI 控件的属性(而不是x当前数据上下文的属性)。根据我对您问题的理解,这不是您想要的;特别是,它不是做什么{Binding}{Binding}保持源原样(通常DataContext是某些父元素的)并绑定到源本身(相当于Path=.)。

于 2009-12-15T10:49:58.123 回答