如何在WP中重新激活应用程序时刷新日期时间

时间:2012-01-20 07:42:26

标签: windows-phone-7 datetime tombstoning

我想知道当应用程序从WP7.5中的停用状态返回时是否可以刷新日期时间。我的应用程序基本上是日历类型,当应用程序启动时,当前日期会突出显示。

所以,如果我启动应用程序,然后按开始按钮,我的应用程序进入停用状态,然后转到设置并更改时区,自然日期和时间可能会更改,然后回到我的应用程序,它保留旧日期。

例如。 假设当前日期是20,我们更改日期为19的时区,理想情况下我的应用程序应突出显示19,但事实并非如此。我假设它在应用程序进入停用状态之前变为存储所有状态,当它返回时,它会加载相同的数据。无论如何我可以刷新日期时间吗?

Alfah

2 个答案:

答案 0 :(得分:3)

自从我完成任何WP7开发以来已经有一段时间了,但我确信在重新激活该应用时会引发一个事件 - 你不能只是在DateTime.NowDateTime.Today查询点?

编辑:查看文档,我认为您需要LaunchingActivated事件。 (Launching以便您在初始启动时检查时间; Activated在休眠后重新激活。)

答案 1 :(得分:2)

假设您有一个包含名为DateToDisplayAsToday的DateTime字段的模型类,并且该模型可在App.XAML中访问,那么您需要在App.xaml.cs中使用以下内容

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        // Application_Launching fires when the app starts up.

        // retrieve any data you persisted the last time the app exited.

        // Assumes you have a local instance of your model class called model.
        model = new model(); 
    }

    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        // Application_Activated fires when you return to the foreground.
        // retrieve any data you persisted in the Application_Deactivated
        // and then you can set the current DateTime
        model.DateToDisplayAsToday = DateTime.Now;
    }

    private void Application_Deactivated(object sender, DeactivatedEventArgs e)
    {
        // persist an data you don't want to lose during tombstoning
    }

    private void Application_Closing(object sender, ClosingEventArgs e)
    {
        // persist any data you want to keep between separate executions of the app
    }