什么是Windows UI库
Windows UI 库 (WinUI) 是适用于 Windows 桌面应用程序和 UWP 应用程序的本机用户体验 (UX) 框架。
通过将 Fluent Design 系统(Windows的UI设计风格)整合到所有体验、控件和样式中,WinUI 使用最新的用户界面 (UI) 模式提供一致、直观且可访问的体验。
Win UI目前有两个版本WInUI2和WinUI3。WinUI 2是2018年发布的。WinUI3是2020年发布的。这里只简单介绍一下WinUI,具体的功能特性可以 访问
https://docs.microsoft.com/zh-cn/windows/apps/winui/
WinUI 3 是 WinRT(UWP) 组件。在 UWP 应用中使用 WinUI 3 时,使用的是 .NET Native;在桌面应用中使用时,使用的是 .NET 5(和 C#/WinRT)。
最初我还以为是一套通用的UI样式 ,WPF和UWP都可以用。当弹出开发者许可证时,我就意识到这完全就 是UWP啊。
作为一名WPF爱好者,还是可以从这个项目里学到很多。一些控件搬到WPF中实现应该是没有问题的。
项目地址:https://github.com/microsoft/microsoft-ui-xaml/
开发环境
我这里以Visual Studio 2022 17.1.1示例。
打开Visual Studio 2022的安装程序,钩选以下功能
通用 Windows 平台开发
用于 C# 应用开发的 .NET 桌面开发(切换到详细,选择“Windows 应用 SDK C# 模板”)
用于 C++ 应用开发的 C++ 桌面开发(切换到详细,选择“Windows 应用 SDK C++ 模板)
说明:C#和C++都可以用于开发UWP应用程序,所以这里选择自己熟悉的语言。C#和C++二选一
创建工程
运行效果
生成文件
生成目录下把运行时需要 的文件 全部打包出来了,有点大
如果要编译成独立的运行文件,需要在项目工程文件(.csproj)中的PropertyGroup节点添加
<!-- This bundles the .NET Core libraries -->
<SelfContained>true</SelfContained>
<!-- This bundles the WinUI3 components -->
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>