我有一個WPF Window
,並在某處有一個ListView
我在那裏綁定一個List<string>
到。WPF綁定到自己
現在在我的ListView
某處有TextBox
和Content
屬性設置爲{Binding}
。
但這是速記。我如何編寫完整的綁定來綁定自身?
{Binding Path=Self}
不起作用,{Binding Self}
(其中後者是前者的捷徑)不起作用。
我有一個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