我正在寻找wp7专家的一些应用程序生命周期帮助。我的应用程序在特定页面上具有刷新步骤,但是我只想在用户从后台使应用程序栩栩如生时启动此步骤。

注意-当页面为init()时,只有当我导航(返回)或用户接过电话然后重新打开应用程序时,才会调用我正在寻找的生命周期步骤(保持打开同一页)

先感谢您

最佳答案

您正在寻找的东西叫做Tombstoning,您可以在http://wildermuth.com/2010/10/17/Architecting_WP7_-_Part_5_of_10_Tombstoning上找到一篇很棒的文章

这些事件是:

  • 启动(从图块打开)
  • 已停用(用户接听电话或其他东西)
  • 已激活(从 call 返回)
  • 关闭(通过“后退”按钮离开应用程序)

  • 您正在寻找已激活事件。这些位于您的App.xaml.cs / vb文件中。了解事件,并更新您的数据模型。当页面绑定(bind)到该模型时,它将获取数据。

    如果您未使用MVVM,并且无法真正从该事件中刷新,则可以使用PhoneApplicationService.Current.StartupMode属性进行操作。它有两个选项Activate(您要查找的内容)和Launch(从磁贴中重新加载)。看起来像
    Init()
    {
        if (PhoneApplicationService.Current.StartupMode ==  StartupMode.Activate)
        {
              Refresh()
        }
    }
    

    10-07 20:31