2009-12-15 60 views
64

我有一個WPF Window,並在某處有一個ListView我在那裏綁定一個List<string>到。WPF綁定到自己

現在在我的ListView某處有TextBoxContent屬性設置爲{Binding}

但這是速記。我如何編寫完整的綁定來綁定自身?

{Binding Path=Self}不起作用,{Binding Self}(其中後者是前者的捷徑)不起作用。

+0

我想提及與此主題相關的帖子。上述答案完全正確,但有一點可以完成上述答案。這裏是[鏈接](http://stackoverflow.com/questions/11995318/how-do-i-bind-to-relativesource-self)。 – AAAA 2013-06-23 05:53:14

回答

202

簡短的回答{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=.)。

+1

非常感謝! – Snake 2009-12-15 11:26:34

+1

好的答案,如果可以的話,我會給你+2。 – 2009-12-15 14:45:11

+0

真是個好回答! – 2012-08-15 20:37:47