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=. )。