wpf - 如何检查 DataContext 是否存在于可视化树的更上方?

标签 wpf datacontext

我有一个用户控件(UC),它有时位于窗口中,有时位于选项卡中,有时位于子窗口中。当它在窗口中时,我将 View 模型传递给窗口。在 UC 中,我想检查 UC 的祖先中是否已存在数据上下文(不是特别是窗口,因为它不知道它是否在窗口或选项卡内),以便我可以实例化 View 模型(如果不是)。我如何检查这一点?

最佳答案

如果为视觉祖先设置了DataContext,则UC会继承它,因此您只需检查UC的DataContext是否为null即可。

关于wpf - 如何检查 DataContext 是否存在于可视化树的更上方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627868/

相关文章:

silverlight - 无论如何要停止 Silverlight 中的自动 DataContext 继承?

c# - 关于如何在 WPF 中缩放图表控件的想法

wpf - 在 WPF 应用程序中做广告?

c# - 在 LINQ-to-SQL 中使用跨上下文连接

c# - 删除查询中的重复代码

wpf - 如何做到这一点。DataContext = this : in XAML. ...例如<Window.DataContext> <local :MainWindow/></Window. DataContext>-->

c# - 帮助我理解 MY`Using` 和 `DataContext`

wpf - DrawingVisual 未刷新

wpf - Avalon Dock float anchor 能否更独立于其父项?

c# - 如何在 visual studio 2010 中提升 XAML 设计器?