2011-10-17 93 views
0

我有一個數據綁定到一個對象的頁面,如this.DataContext = anObject;,該對象的屬性完美綁定。在一個控件中綁定一個控件

但現在我有一個控制範圍內。

<Control2></Control2> 

並在構造該控件我設置this.DataContext = anotherObject;

這個問題我似乎有,當我做到這一點的是,這種控制2似乎是雙重綁定,當我做{Binding aProperty}它抱怨它不在anotherObject和當我綁定{Binding anotherProperty}它會抱怨它沒有在anObject

任何想法。

+0

這個問題不是很清楚。所以你有一個控件的DataContext作爲一個對象。那麼你想設置一個嵌套控件(Control2)的DataContext anObject.SomeProperty? –

+0

當我把放在xaml中的{{Binding aProperty}}顯示在TextBlock中。數據上下文在代碼中設置。 –

+1

請發佈xaml結構和對象的結構,並告訴你想要什麼 –

回答

1

我懷疑數據上下文是由頁面設置後,你已經在構造函數中設置它。因此,您會在不同的時間報告兩個不同的綁定來源。

嘗試偵聽控件中的DataContextChanged事件。

+0

對不起,我正在開發的WP7它不可用。 –

+1

與WPF不同,Silverlight控件沒有DataContextChanged事件。您可以使用諸如http://www.codeproject.com/Articles/38559/Silverlight-DataContext-Changed-Event之類的方法添加類似的東西,但它不是「開箱即用」的東西。 –

相關問題