2014-01-13 100 views
0

我的窗口A有DataContext A'並且包含usercontrol B,它在usercontrol的加載事件中獲取DataContext B'。
並且usercontrol B包含usercontrol C,它在其加載的事件中獲取DataContext C'。DataContext繼承的小問題

沒有問題,只是在用戶控件C調試會話期間的輸出窗口中報告了幾個數據綁定錯誤。
由於C從B(和B從A)繼承DataContext,因此usercontrol在設置爲C之前具有DataContext A'和B'的時間很短。

我應該如何避免這種行爲,我想在這種情況下避免繼承DataContext。

回答

2

在用戶控件C的申報設置的DataContext爲空,這樣,它不會從父繼承DataContext的,不會有一個DataContext,直到你在Loaded事件設置...

<UserControl x:Class="MyNameSpace.MyUserControlC"    
     DataContext="{x:Null}> 
    ... 
</UserControl>