[英]WPF Bind to itself
我有一个 WPF Window
,在某个地方有一个ListView
,我将List<string>
绑定到。
现在在我的ListView
的某个地方有一个TextBox
并且Content
属性设置为{Binding}
。
但这是简写。 如何编写完整的绑定以绑定到自身?
{Binding Path=Self}
不起作用, {Binding Self}
也不起作用(后者是前者的快捷方式)。
简短回答: {Binding}
不是“绑定到自身”的快捷方式(在RelativeSource.Self的意义上)。 相反, {Binding}
等效于{Binding Path=.}
,它绑定到当前源。
详细说明:绑定具有源和路径。 您可以执行“绑定到自身”,例如,通过使用
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
但是,这会将源设置为控件本身,因此它将尝试访问 UI 控件的属性x
(而不是当前数据上下文的属性x
)。 根据我对您问题的理解,这不是您想要的; 特别是,它不是{Binding}
所做的: {Binding}
保持源原样(通常是某些父元素的DataContext
)并绑定到源本身(相当于Path=.
)。
绑定到 self 的另一种方法:
{Binding {}}
一个空的{}
绑定到 RelativeSource.Self。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.