如何在通用Windows应用商店应用程序关闭时执行代码
本文关键字:应用程序 代码 执行 应用 Windows | 更新日期: 2023-09-27 18:27:30
我正在为Windows 10应用商店开发一个应用程序,但我似乎找不到/学习如何检查用户是否按下了红色关闭按钮(右上角)或按下了Alt+F4。基本上我想要的是这样的东西:
private void app_Close(object sender, CloseEventArgs e)
{
//saves some data in the app :D
}
.:编辑:
如果你有一个没有MainWindow对象的通用应用程序,你可能想进入"暂停"事件:
appObject.Suspending += (s, a) =>
{
SaveTheData(); // I really like my data and want it for later too
};
或
public App()
{
/*
stuff
*/
Suspending += (s, a) =>
{
SaveTheData(); // I really like my data and want it for later too
};
}
.:原件:
在MainWindow"关闭"事件中添加一个处理程序以保存数据。一旦"关闭"完成,"关闭"应正常启动。
theMainWindowObject.Closing += (s,a) =>
{
SaveTheData(); // It's precious!
};
在我的一个较小的应用程序中,我有类似的东西,在MainWindow的构造函数中,我把上面的代码片段用"MainWindowObject"代替"this",这样它就引用了自己的
所以我有:
public MainWindow()
{
// Note: "this." isn't necessary here but it helps me with mental accounting
this.Closing += (s, a) =>
{
Save();
};
}
如果你只是保存了一两个属性,并且没有任何疯狂的逻辑,你可以直接把它放在处理程序中:
public MainWindow()
{
Closing += (s, a) =>
{
Properties.Settings.Default.SettingsPopupX = mySettingsPopupObject.GetX();
Properties.Settings.Default.SettingsPopupY = mySettingsPopupObject.GetY();
Properties.Settings.Default.Save();
};
}
如果您想管理应用程序生命周期,请参阅MSDN的这篇文章:https://msdn.microsoft.com/en-us/library/windows/apps/mt243287.aspx通常情况下,Windows应用程序中没有"关闭"事件。当Windows或您的用户想要关闭应用程序时,您的应用程序将被挂起。使用ApplicationExecutionState
(请参阅更多信息)枚举,您可以找出关闭该应用程序的用户。
希望它能有所帮助!