Windows手机8在Tombstoned时快速恢复

时间:2012-12-07 07:05:15

标签: windows windows-phone-7 windows-phone-8

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj735579%28v=vs.105%29.aspx 根据我在Windows Phone 8中使用快速简历的文档,我可以从主磁贴恢复我的应用程序。

但当我的应用程序被墓碑化时, 例如,mainPage可以导航到 - > pageA可以导航到 - >> PageB,我从PageA取消了应用程序,然后是 应用程序是墓碑式的,当我点击导航到PageB的平铺时,应用程序返回到页面A很奇怪。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

听起来你没有在逻辑删除之前保存应用程序状态。为保留应用程序状态,有4个事件被触发:

这些与完全关闭和重新打开应用程序有关(例如:手机重启)

  • Application_Launching
  • Application_Closing

这些与墓碑(任务切换)

有关
  • Application_Activated
  • Application_Deactivated

听起来你需要的是与激活/停用相关的第二个问题。这些方法放在Applications * .cs文件中,允许您在逻辑删除时保留和恢复ViewModel。

这是example

private readonly string ModelKey = "Key";

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
  PhoneApplicationService.Current.State[ModelKey] = ViewModel;
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
  if (PhoneApplicationService.Current.State.ContainsKey(ModelKey))
  {
    ViewModel = PhoneApplicationService.Current.State[ModelKey] as FeedViewModel;
    RootFrame.DataContext = ViewModel;
  }
}