当用户按下开始键时,如何在页面上执行保存操作

时间:2013-12-08 22:49:44

标签: windows-phone-8

我正在开发Windows Phone 8应用程序,并希望每次用户离开页面时都从页面保存数据。如果用户按下后退键或在应用程序中导航,这可以正常工作,但是如果按下开始键,则不保存任何内容。我的代码如下所示:

    protected async override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    {
        base.OnNavigatingFrom(e);
        if (!toDelete)
        {
            List<NoteItem> ni = this.getNoteItems();
            await SaveNotes(ni, this.Title.Text);
        }
    }

这会调用方法来保存笔记。我没有在页面上看到任何其他事件来保存它。有人知道我在哪里弄错了吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以尝试在App.xaml.cs中处理此案例。

按下“开始”按钮后,将引发Application_Deactivated事件。

例如

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
    //do the saving here
}

虽然,我在按下“开始”按钮时也会调用OnNavigatingFrom事件,因此在事件处理程序中使用await可能很有魅力。阅读this article by Andy Wigley,其中包含有用的信息。