WPF绑定到自己
我有一个WPF Window
,并在某处有一个ListView
我在那里绑定一个List<string>
到。WPF绑定到自己
现在在我的ListView
某处有TextBox
和Content
属性设置为{Binding}
。
但这是速记。我如何编写完整的绑定来绑定自身?
{Binding Path=Self}
不起作用,{Binding Self}
(其中后者是前者的捷径)不起作用。
简短的回答:{Binding}
是不为“结合自身”(在RelativeSource.Self的意义上)的快捷方式。相反,{Binding}
is equivalent to{Binding Path=.}
,它绑定到当前源。
为了详细阐述:A结合具有源和路径。您可以通过使用
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
这做“结合自身”,例如,然而,设置源到控件本身,所以它会尝试访问UI控件的属性x
(而比当前数据上下文的属性x
)。从我如何理解你的问题,这不是你想要的;特别是它不是{Binding}
所做的:{Binding}
保持原样(通常是某个父元素的DataContext
)并绑定到源本身(相当于Path=.
)。
非常感谢! – Snake 2009-12-15 11:26:34
好的答案,如果可以的话,我会给你+2。 – 2009-12-15 14:45:11
真是个好回答! – 2012-08-15 20:37:47
我想提及与此主题相关的帖子。上述答案完全正确,但有一点可以完成上述答案。这里是[链接](http://stackoverflow.com/questions/11995318/how-do-i-bind-to-relativesource-self)。 – AAAA 2013-06-23 05:53:14