Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从逻辑删除返回时RootVisual为null?_C#_Windows Phone 7_Rad Controls_Tombstoning - Fatal编程技术网

C# 从逻辑删除返回时RootVisual为null?

C# 从逻辑删除返回时RootVisual为null?,c#,windows-phone-7,rad-controls,tombstoning,C#,Windows Phone 7,Rad Controls,Tombstoning,嗨,我刚发现我的应用程序在从墓碑归来时崩溃了。我能够在我的页面的构造函数中解决这个问题: RadPhoneApplicationFrame frame = App.Current.RootVisual as RadPhoneApplicationFrame; frame.PageTransitionCompleted += new EventHandler<EventArgs>(frame_PageTransitionComplet

嗨,我刚发现我的应用程序在从墓碑归来时崩溃了。我能够在我的页面的构造函数中解决这个问题:

RadPhoneApplicationFrame frame = App.Current.RootVisual as RadPhoneApplicationFrame;
frame.PageTransitionCompleted += 
                         new EventHandler<EventArgs>(frame_PageTransitionCompleted);
RadPhoneApplicationFrame=App.Current.RootVisual作为RadPhoneApplicationFrame;
frame.PageTransitionCompleted+=
新事件处理程序(框架页面转换完成);

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

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

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


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

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

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

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