我写了一个Windows 8商店应用程序(XAML/C#),这是我在Microsoft表面上运行的应用程序。该应用程序基本上是一个没有任何保存按钮的数据录入应用程序。当在页面之间跳转或应用程序暂停时,自动执行保存。当Windows 8商店应用程序关闭时保存数据
然而,我似乎无法捕捉的一个senario是当用户关闭应用程序时(当用户从屏幕的顶部滑动)。
所以此刻我订阅App.Current.Suspending和呼叫保存在这里:
App.Current.Suspending += Current_Suspending;
void Current_Suspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
{
Save();
}
这里我也覆盖了即时存档方法和调用保存:
protected override void SaveState(Dictionary<string, object> pageState)
{
Save();
base.SaveState(pageState);
}
但niether这些方法在应用程序关闭时被调用。
有人知道应用程序关闭时会触发的事件吗?
感谢
你使用这个词的“封闭”当你谈论被暂停的应用程序是一个有点混乱。你能否确定暂停事件是否真的发生,如果没有,那么你没有以正确的方式挂钩事件。看起来像这篇文章可能会帮助您以正确的方式执行此操作:http://msdn.microsoft.com/en-us/library/windows/apps/hh986968.aspx – 2013-04-23 11:35:26
挂起事件会在应用程序暂停但关闭时触发它没有。当我说关闭时,我的意思是用户从上到下滑动屏幕(或按Alt-F4) – Sun 2013-04-23 12:46:30
您的暂停事件只发生在应用程序暂停未关闭时。您需要通过处理应用程序关闭时发生的事件来实际处理应用程序。 – 2013-04-23 13:01:38