禁用标题栏 "X" - 关闭按钮

Disable titlebar "X" - close button

这个问题过去已经重复了几次,答案是目前还不可能。我想知道现在是否可以?

这里的最佳答案说这是可能的,但我很难让它发挥作用。我想我需要参考 SystemNavigationManagerPreview 或者我需要添加

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

在清单中,但我不知道如何做到这一点。

是的,您的这种能力是正确的。您需要处理 CloseRequested 事件以覆盖用户单击 'X'.

时发生的情况

https://docs.microsoft.com/en-us/uwp/api/windows.ui.core.preview.systemnavigationmanagerpreview.closerequested

您在其他地方说您使用的是 VS2015,它只能针对周年更新(内部版本 14393)。 SystemNavigationManagerPreview.CloseRequested 是创意者更新(内部版本 15603)的新增内容。您需要使用 VS2017 将目标版本设置得足够高以支持 CloseRequested。

SystemNavigationManagerPreview 文档:

Windows 10 requirements

Device family Windows 10 Creators Update (introduced v10.0.15063.0)

Choose a UWP version 文档:

Build 15063 (Creators Update, version 1703)

Please note that you must be using Visual Studio 2017 in order to target this version of Windows.

进入 Visual Studio 2017 后,您可以在项目属性的应用程序部分中设置最低版本,然后您就可以在清单中将功能设置为 Stefan 和 描述。

有关定义受限功能的更多信息,请参阅 Restricted Capabilities 文档。特别是,您需要定义 xmlns:rescap 然后将其添加到 IgnorableNamespaces,然后才能使用问题中的代码设置功能本身。

<?xml version="1.0" encoding="utf-8"?>
<Package
    ...
    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
    IgnorableNamespaces="... rescap">
...
<Capabilities>
    <rescap:Capability Name="confirmAppClose"/>
</Capabilities>
</Package>