类似 UWP 的桌面应用程序

Posted

技术标签:

【中文标题】类似 UWP 的桌面应用程序【英文标题】:UWP like desktop application 【发布时间】:2021-09-24 04:52:41 【问题描述】:

我正在做一个针对 Windows 10(可能是 11)的应用程序。我的第一选择是WinUI 3。但我意识到有些东西没有完全实现,有些控件还不稳定(以datagrid为例)。

所以我尝试了 UWP 和 WinUI 2.6。我遇到的问题是系统托盘。我发现了这个link,它看起来很好用。我设法在关闭时最小化窗口,但我无法在任务栏中隐藏应用程序。

有没有办法使用 WinUI 2.6 创建不受限制的桌面应用程序(无 UWP)? 关于我的应用程序,是否有机会将应用程序隐藏在任务栏中? 我看到 WPF 和 Winforms 使用 net5.0。我也可以将 UWP 与 net5.0 一起使用吗?

【问题讨论】:

将应用程序放在任务栏中只是不关闭具有最后一个可见窗口的应用程序。不确定 UWP 或 WinUI,但在 WPF 中相当容易。此外,如果您只想针对 Windows,则在 MAUI 出现之前,WPF 是您的选择。如果您等待 MAUI,带有 Blazor 的混合应用程序也是很酷的选择(并且绝对支持托盘图标) 你考虑过 WPF 和 XAML 孤岛吗? WPF 很棒,但控件不是很好看。我相信 XAML Islands 是 WFP 中的 WinUI 2.6 吗?它看起来很棒,但我不知道如何开始。你有一个好的教程吗? 【参考方案1】:

回答您的问题:

    不幸的是,没有。 (当前)UWP 仅支持 Windows 10 和 11。旧版本支持 8/8.1。 UWP 在沙盒中运行,因此您无法移除限制。 你不能“原版”地做,但是,正如 Faywang - MSFT 在this 线程中提到的,你可以使用桌面扩展,它可以充当代理。 是的,您可以将 UWP 与 .NET 5 结合使用。但您仍然无法消除这些限制。

【讨论】:

UWP 不正式支持 .NET 5:github.com/microsoft/WindowsAppSDK/issues/105 我用Visual Studio的模板创建了UWP项目。但它没有使用 .NET 5。给出@mm8 的链接适用于 WinUI 3。我可以将 UWP 和 WinUI 2.6 与 .NET 5 一起使用,如果可以的话,你有教程告诉我如何做到这一点吗? 不,就像我说的,UWP 不支持 .NET 5。【参考方案2】:

WinUI 是您能达到的最接近的,尽管它仅适用于 Windows 11 和 10。

Uno Platform 是一个不错的选择:https://platform.uno/blog/winui-on-windows7-via-unoplatform/ 毕竟是 WebAssembly,但很难抱怨。

【讨论】:

以上是关于类似 UWP 的桌面应用程序的主要内容,如果未能解决你的问题,请参考以下文章

win10怎么添加uwp应用图标

限制 Xamarin UWP 应用程序的桌面支持

在桌面上为 Windows 10 UWP 应用设置窗口大小

WPF 桌面应用程序,Windows 10 通知 Toast 2016(UWP 社区工具包)

win10中,类似uwp的图标可以在哪里找到?

如何在 UWP 中录制桌面屏幕