我正在为WindowsPhone 8开发一个C#项目。当用户停用应用程序(即转到主菜单)时,我会停止一些计时器并保存一些东西。这很好用。但当用户重新激活应用程序时,我想将用户导航到暂停屏幕。
NavigationService.Navigate(new Uri("/Pause.xaml", UriKind.Relative));
该代码很简单,在应用程序未停用时运行非常完美。但当用户重新激活应用程序时,它会抛出一个NullReferenceException。
我已经尝试了几种方法,例如:
public void pause_for_activated()
{
this.Loaded += navigate_pause();
}
private RoutedEventHandler navigate_pause()
{
NavigationService.Navigate(new Uri("/Pause.xaml", UriKind.Relative));
return navigate_pause();
}
当我启动应用程序而不自动导航到暂停屏幕,然后按下按钮进行导航时,它就工作了。我现在的问题是,我什么时候可以自动导航,以及如何做到这一点?
事先,我已经谢谢你了。
直到现在我还没有得到答案,但我找到了一个适合我的解决方案,所以我决定把它放在这里。
Loaded += navigate_pause();
private RoutedEventHandler navigate_pause()
{
Dispatcher.BeginInvoke(() =>
{
((PhoneApplicationFrame)Application.Current.RootVisual).Navigate(new Uri("/Pause.xaml", UriKind.Relative));
});
return null;
}