Windows 8 向外导航时保存页面状态

Windows 8 向外导航时保存页面状态,windows-8,windows-runtime,winrt-xaml,Windows 8,Windows Runtime,Winrt Xaml,假设我有两页,A和B 用户可以修改A页上的内容,然后导航到B页。 当他在B页时,他点击“后退”按钮进入A页。 以前做过的一切都失去了 有一种方法可以通过使用 this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled; 但是,有没有办法通过使用“后退”按钮来确定是否第一次打开了页面?是的: protected override void OnNavigatedTo(Navi

假设我有两页,A和B

用户可以修改A页上的内容,然后导航到B页。 当他在B页时,他点击“后退”按钮进入A页。 以前做过的一切都失去了

有一种方法可以通过使用

this.NavigationCacheMode = 
        Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
但是,有没有办法通过使用“后退”按钮来确定是否第一次打开了页面?

是的:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
  if (e.NavigationMode == NavigationMode.Back)
  {
    // LoadPreviousSate...
  }
}

您还应该了解一下
ApplicationExecutionState
(在App.xaml中的
OnLaunched
事件中)。如果您导航到B页,应用程序挂起,应用程序继续,用户导航到A页
导航模式
将是
新建

谢谢。有没有办法保存我想重复使用的东西?(某些文本未通过机制或其他方式保存)您必须自行处理。如果文本框中有一些文本要保存(并且不是通过缓存保存的),请将其写入独立存储或appsettings。您还可以尝试设置
this.NavigationCacheMode
=
NavigationCacheMode.Required