我有一个WPF Window
,某处有一个ListView
我将List<string>
绑定到。{/ p>
现在我ListView
的某个地方有一个TextBox
,Content
属性设置为{Binding}
。
但这是速记。如何编写完整绑定以绑定到自身?
{Binding Path=Self}
不起作用,{Binding Self}
也不起作用(后者是前者的捷径)。
答案 0 :(得分:223)
简短回答:{Binding}
不是“绑定到自身”的快捷方式(在RelativeSource.Self意义上)。而是{Binding}
is equivalent to {Binding Path=.}
,它绑定到当前来源。
详细说明:绑定包含源和路径。例如,您可以使用
进行“绑定到自身”<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
然而,这会将源设置为控件本身,因此它将尝试访问UI控件的属性x
(而不是当前属性x
数据上下文)。从我如何理解你的问题,这不是你想要的;特别是,它不是{Binding}
所做的:{Binding}
保持源的原样(通常是某个父元素的DataContext
)并绑定到源本身(相当于{{1} }})。