首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从逻辑删除返回时RootVisual是否为空?

从逻辑删除返回时RootVisual是否为空?
EN

Stack Overflow用户
提问于 2012-01-11 05:55:32
回答 1查看 363关注 0票数 2

嗨,我刚刚发现我的应用程序在从tombstoning返回时崩溃了。我能够在我的页面的构造函数中针对这个问题:

代码语言:javascript
复制
RadPhoneApplicationFrame frame = App.Current.RootVisual as RadPhoneApplicationFrame;
frame.PageTransitionCompleted += 
                         new EventHandler<EventArgs>(frame_PageTransitionCompleted);

每次应用程序重新激活时,RootVisual都会将帧设置为空。我想知道这里是否有一个转换问题,因为在我使用这段代码之前,我的墓碑工作得很好,我能够在整个应用程序中自由导航。你知道这是什么原因造成的吗?或者是一个变通的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-11 06:30:03

您应该将此代码从页面构造函数移动到页面中的OnNavigatedTo方法重写。原因是RootVisual可能是在RootFrame.Navigated事件处理程序中设置的,该事件处理程序是在页面构造之后生成的,而不是在此之前(这取决于App.xaml.cs中的实现)。

当然,因为对于一个页面,OnNavigatedTo方法可能会多次运行,所以您应该确保PageTransitionCompleted事件处理程序没有被分配两次(只需在+=之前使用-= )。

另一种选择是将此代码移动到App.xaml.cs。这对我来说最有意义,因为PageTransitionCompleted事件与整个应用程序相关,而不是单个页面。

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

https://stackoverflow.com/questions/8811087

复制
相关文章

相似问题

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