gpt4 book ai didi

c# - 桌面上的 UWP 由顶部 X 按钮关闭 - 无事件

转载 作者:可可西里 更新时间:2023-11-01 03:01:04 32 4
gpt4 key购买 nike

在桌面上运行的 UWP 应用程序可以从顶部的 X 按钮关闭,但它没有任何事件。众所周知,在手机和平​​板电脑上,应用程序应该依赖于 Suspending 事件,无论它是如何触发的,然后应用程序应该依赖于 ApplicationExecutionState。 .

但是,这是一个(可能)常见的场景:在手机上 Suspending 事件就足够了,如果正在进行 Voip 通话,它将在应用程序暂停后由操作系统操作。 在桌面上,用户希望关闭按钮完全关闭应用。因此,如果通话正在进行,则应挂断它并释放某些资源。

如果(且仅当)UWP 应用程序正在桌面上运行,我如何知道用户何时单击“关闭”按钮?

最佳答案

A restricted capability confirmAppClose 已添加到 Windows 10 版本 1703(内部版本 10.0.15063)中,以便为应用提供拦截窗口关闭的能力。

list 命名空间:

xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"

list :

<Capabilities> 
<Capability Name="internetClient" />
<rescap:Capability Name="confirmAppClose"/>
</Capabilities>

提交到商店时需要额外的批准。但是随后将在 SystemNavigationManagerPreview 上触发 CloseRequested 事件实例。

代码:

    public MainPage()
{
this.InitializeComponent();
SystemNavigationManagerPreview.GetForCurrentView().CloseRequested += this.OnCloseRequest;
}

private void OnCloseRequest(object sender, SystemNavigationCloseRequestedPreviewEventArgs e)
{
if (!saved) { e.Handled = true; SomePromptFunction(); }
}

您可以在这里延迟做一些工作(保存或提示),或者您可以将 Handled 设置为 true 以阻止窗口关闭(用户取消提示)。

关于c# - 桌面上的 UWP 由顶部 X 按钮关闭 - 无事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056464/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com