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