首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么UIHelper.FindVisualParent<MainWindow>(这个)有时返回null?

为什么UIHelper.FindVisualParent<MainWindow>(这个)有时返回null?
EN

Stack Overflow用户
提问于 2013-06-17 12:32:34
回答 1查看 1K关注 0票数 0

我在每个标签中都有MainWindow和用户控件。当我在制表符之间切换得太快时,有时即使没有切换,我的主值也是空的;

代码语言:javascript
复制
var main = UIHelper.FindVisualParent<MainWindow>(this);

你知道为什么会发生这种事?假设它在7-10次尝试中显示错误,例如main为null。我在用户控件中使用它来访问MainWindow控件。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-06-17 13:34:02

您必须等到UserControl添加到VisualTree之后,即在模板成为applied....the之后,最简单的方法是等待Loaded事件被触发。

然后,您可以安全地在层次结构上导航并查找您的MainWindow

不过,请记住,使用TabControl切换选项卡时,消失的选项卡将卸载其Visual。

  • http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/30e26229-beb5-4146-9493-09c3e158c45e

因此,您可能需要查看Unloaded事件在您的UserControl上,以确保您不再在VisualTree中调用VisualTreeHelper

  • http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/23dc9bcd-e8bc-4dae-96b9-d36dbbf9fe03

如果您想防止卸载行为,那么您可以修改TabControl behaviour...but,原始TabControl是这样设计的,以便高效地创建可视化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17147567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档