什么是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>