【问题标题】:Windows phone 8 Fast Resume when TombstonedWindows phone 8 墓碑删除时快速恢复
【发布时间】:2023-03-04 07:06:04
【问题描述】:

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

但是当我的应用程序被墓碑化时, 例如,mainPage 可以导航到 ->pageA 可以导航到->PageB,我从 PageA 停用了应用程序,然后 应用程序被墓碑化,当我单击导航到 PageB 的 Tile 时,应用程序返回到 Page A 很奇怪。

如何解决这个问题?

【问题讨论】:

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


    【解决方案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;
      }
    }
    

    【讨论】:

    • code.msdn.microsoft.com/wpapps/… 在这个演示中,当我在调试时在停用时检查 Tombstone。当我从 page2 停用应用程序然后单击第二个磁贴时,该应用程序不会导航到第 3 页而是第 2 页
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2015-06-04
    • 2014-10-16
    相关资源
    最近更新 更多