如何在通用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
}

如何在通用Windows应用商店应用程序关闭时执行代码

.:编辑:

如果你有一个没有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(请参阅更多信息)枚举,您可以找出关闭该应用程序的用户。

希望它能有所帮助!

相关文章: