继承DataContext的小问题

时间:2014-01-13 20:22:59

标签: wpf datacontext

我的窗口A有DataContext A'并包含usercontrol B,它在usercontrol的加载事件中获取DataContext B'。
usercontrol B包含usercontrol C,它在加载的事件中获取DataContext C'。

没有问题,除了在用户控制C的调试会话期间在输出窗口中报告了几个数据绑定错误。
usercontrol在设置为C'之前有一个很短的时间有DataContext A'和B',因为C从B继承DataContext(和A从B继承)。

我应该如何避免这种行为,在这种情况下我想避免继承DataContext。

1 个答案:

答案 0 :(得分:2)

在UserControl C的声明中,将DataContext设置为null,这样它就不会从父级继承DataContext,并且在您在Loaded事件中设置它之前不会有DataContext ...

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