Windows UI 程式庫 (WinUI)

WinUI logo

重要

目前,Windows UI 程式庫 (WinUI) 有兩代:適用於 UWP 的 WinUI 2,以及 Windows 應用程式 SDK 中的 WinUI 3。 雖然這兩項都可以在 Windows 10 和更新版本的生產就緒應用程式中使用,但是每個應用程式都有不同的開發目標。

請參閱 WinUI 3 和 WinUI 2 的比較

Windows UI 程式庫 (WinUI) 是同時適用於 Windows 桌面和 UWP 應用程式的原生使用者體驗 (UX)。

WinUI 將 Fluent Design 系統併入所有體驗、控制項和樣式中,以使用最新的使用者介面 (UI) 模式來提供一致、直覺性且可存取的體驗。

因為有桌面和 UWP 應用程式的支援,您可以使用 WinUI 來從頭開始進行建置,或使用熟悉的語言 (例如 C++、C#、Visual Basic 和 JavaScript,使用 React Native for Windows),逐漸遷移現有的 MFC、WinForms 或 WPF 應用程式。

WinUI 程式庫裝載於 WinUI GitHub 存放庫,您可以在其中提出功能要求或錯誤,並與 WinUI 小組互動。

WinUI 3 和 WinUI 2 的比較

下表醒目提示 Windows 應用程式 SDK 中的 WinUI 3 與適用於 UWP 的 WinUI 2 之間一些最顯著的差異。

Windows 應用程式 SDK 中的 WinUI 3 適用於 UWP 的 WinUI 2
WinUI 3 隨附於 Windows 應用程式 SDK WinUI 2,第 2 代 WinUI,以獨立 NuGet 套件的形式出貨,並且與 Windows SDK 整合。
UX 堆疊和控制項程式庫與作業系統和 Windows SDK 完全分離,包括 UX 堆疊的核心架構、組合和輸入層。 UX 堆疊和控制項程式庫緊密結合至作業系統和 Windows SDK
WinUI 3 可用來建置生產就緒傳統型/Win32 Windows 應用程式。 WinUI 2 可用於 UWP 應用程式中,並使用 XAML Islands 併入傳統型應用程式 (如需安裝指示,請參閱開始使用 WinUI 2 程式庫)。
WinUI 3 隨附作為 Windows 應用程式 SDK 架構套件的元件,具有 Windows 應用程式 SDK Visual Studio 延伸模組 (VSIX) 中的 Visual Studio 專案範本。 部分 WinUI 2 隨附於作業系統本身 (UWP WinRT API 的 Windows.UI.* 系列),部分隨附作為程式庫 (「Windows UI 程式庫 2」),除了已經包含在作業系統本身的項目之外,還有額外的控制項、元素和最新樣式。 使用 WinUI 2 時,這些功能會隨附於可下載的 NuGet 套件中。 不過,UI 堆疊的其他重要部分仍然內建至作業系統,例如核心 XAML 架構、輸入和組合層。
WinUI 3 支援 C# (.NET 6 和更新版本) 以及適用於傳統型應用程式的 C++。 WinUI 2 支援 C# 和 Visual Basic (.NET Native) 以及 C++ 應用程式。
WinUI 3 僅支援桌面型專案。 若要使用 WinUI 3,UWP 專案可以將專案類型移轉至桌面 (請參閱如何將 UWP 應用程式移轉至 Windows 應用程式 SDK)。 將 NuGet 套件安裝到新的或現有的 UWP 專案,即可將 WinUI 2 併入生產 UWP 應用程式。 然後,WinUI 控制項和樣式可以直接在新應用程式中參考,或是在現有應用程式中將 "Windows.UI." 命名空間參考更新為 "Microsoft.UI."。
WinUI 3 支援 Chromium 型 WebView2 控制項 WinUI 2 支援所有裝置上的 WebView 控制項,以及從 WinUI 2.7 發行前版本開始,支援桌面上的 WebView2 控制項。 WebView2 控制項未來將推出 WinUI 2.x 穩定版本。
WinUI 3 下層套用到 Windows 10 2018 年 10 月更新 (版本 1809,作業系統組建 17763)。 WinUI 2.0 - 2.7 下層套用到 Windows 10 Creators Update (版本 1703,作業系統組建 15063)。 WinUI 2.8 和更新版本下層套用到 Windows 10 2018 年 10 月更新 (版本 1809,作業系統組建 17763)。

另請參閱