本文提供目前由 Microsoft 維護的 Windows UI 架構概觀,並比較其功能。
Microsoft同時產生UI架構和應用程式平臺。 應用程式平臺通常包含UI架構,而UI架構是獨立式架構(未隨附於應用程式平臺),也可以與多個應用程式平臺搭配使用(請參閱 選擇您的應用程式平臺)。
這裡討論的架構包括適用於 Windows App SDK (WinUI 3) 和 UWP (WinUI 2)、Windows Presentation Foundation (WPF) 和 Windows Forms (WinForms) 的 WinUI。
用戶介面基本概念
建置新式 Windows 應用程式時,您可以選擇 UI 架構。 UI 架構提供您的應用程式內建控件、樣式、動畫、輸入處理等等。
有五個主要元件可建立 Windows 應用程式的使用者介面。 這些元件通常會內建於每個UI架構中。
-
控件是顯示內容或啟用互動的UI元素。 控件是使用者介面的建置組塊。
以下是UWP、WinUI 2和 WinUI 3 中提供的 Button 控制項範例。 當您將此控制項放入您的應用程式時,它會自動收到UI架構提供的預設設計。
樣式包含色彩、印刷樣式、圖示、Fluent 材質等,可在您的應用程式設計中使用,以建立真正獨特的體驗。
以下是名為 Acrylic 的樣式元件範例,可在 WinUI 2 和 WinUI 3 中使用。 壓克力是一種筆刷,您可以在應用程式的表面上使用或作為應用程式的背景。 它提供半透明紋理。
-
終端使用者可能會與您的應用程式互動,並透過不同的方法提供應用程式輸入(例如選取或輸入)。 輸入的一些範例包括:
- 滑鼠
- 觸控
- 遊戲控制器
- 筆
- 鍵盤
- Surface Dial(表面轉盤)
- 觸控板
- 演講
-
終端使用者可以在各種裝置上存取 Windows 應用程式,而 UI 架構可能只支援某些裝置。 要執行 Windows 應用程式的一些常見裝置如下:
- 電腦(通常稱為「桌上型電腦」,但也包含筆記型電腦)
- 平板電腦
- HoloLens
- Xbox
- Surface Hub (表面集線器)
-
內建動畫可以真正為您的應用程式增添精緻外觀及操作體驗,並與 Windows 的內建應用程式保持一致性。
UWP、WinUI 2 和 WinUI 3 中的內建動畫範例是當使用者在淺色和深色模式之間切換時所發生的動畫。 當使用者切換整個電腦的模式時,應用程式的 UI 也會隨著轉換動畫自動更新。
-
為了確保您的應用程式對於每個單一用戶來說都令人愉快,您必須將輔助功能納入考慮。
使用者介面框架提供控制項和樣式的內建輔助功能,具備針對鍵盤行為的設計、螢幕閱讀器支援等等。 許多人也為自定義控件中的可存取動作提供 API,例如與螢幕助讀程式互動。
UI 架構
Microsoft發行的每個 UI 架構都有獨特的功能、遵循不同的設計語言,併為使用者提供不同的體驗。 本節將比較您開始建置應用程式時要從中選擇的所有主要 UI 架構。
下表顯示這些UI架構之間一些主要功能的簡短摘要。 如需每個架構的詳細資訊,請流覽下方的索引標籤。
能力 | Windows App SDK (WinUI 3) | 適用於UWP的 WinUI 2 | WPF(Windows Presentation Foundation) | WinForms 公司 |
---|---|---|---|---|
支援的語言 | C#/.NET 6 和更新版本,C++/WinRT | C#/.NET Native、C++/WinRT、C++/CX、VB | C#/.NET 6 (及更新版本)和 .NET Framework、C++/CLI(適用於 C++ 的 Managed Extensions)、F#、VB | C#/.NET 6 (及更新版本)和 .NET Framework、C++/CLI(適用於 C++ 的 Managed Extensions)、F#、VB |
支援的裝置 | 個人電腦(包括筆記型電腦和平板電腦),即將推出支援所有 Windows 10 裝置 | 所有 Windows 10 裝置(電腦、平板電腦、HoloLens、Xbox、Surface Dial 等等) | 桌面電腦和膝上型電腦 | 桌面電腦和膝上型電腦 |
支援輸入類型 | 支援所有 Windows 10 輸入 | 支援所有 Windows 10 輸入 | 滑鼠和鍵盤 | 滑鼠和鍵盤 |
支援的 Windows OS 版本 | Windows 10 版本 1809 或更新版本 | Windows 10 1703 版或更新版本 | Windows XP 或更新版本 | Windows XP 或更新版本 |
WebView 支援 | 以 Chromium 為基礎的 WebView2 | 非鉻 WebView | WebView2 支援即將推出 | WebView2 支援即將推出 |
開放原始碼 | 即將推出 | 是的 | 是 (僅限.NET 6 和更新版本) | 是 (僅限.NET 6 和更新版本) |
如需這些 UI 架構的詳細資訊,請參閱下列索引卷標上的資訊。
Windows App SDK (WinUI 3)
針對大多數新的 Windows 應用程式,我們建議使用 Windows App SDK 的 WinUI (WinUI 3) 來建置您的使用者介面。 WinUI 3 使用最新的使用者介面 (UI) 模式,提供一致、直覺且無障礙的體驗。
WinUI 3 與 Windows OS 完全分離,並隨附為 Windows App SDK 的一部分,這是一組工具和元件,代表 Windows 應用程式開發平臺的下一個演進。
WinUI 3 是最新一代的 WinUI。 WinUI 2 和 3 共用許多相同的控件、樣式和其他 UI 基本概念(請參閱 WinUI 2 和 WinUI 3 的比較)。
WinUI 3 所啟用的主要應用程式案例
- 需要在各種具備新式輸入功能的新式裝置上執行的現代化 Windows 應用程式
- 以 C++ 撰寫的桌面/Win32 應用程式
- 想要使用 DirectX 和 Win2D 的圖形密集型應用程式或遊戲
- 具有大量整合式 Web 內容且需要高效能的應用程式
- 尋求在 Windows 作業系統 (OS) 與其他原生 Windows 應用程式中提供「無縫整合」體驗的應用程式
WinUI 3 的實用檔
- 概 觀:WinUI 3
- 開始使用:建立您的第一個 WinUI 3 專案
- 撰寫 XAML:XAML 平臺
- API 參考:WinUI API 參考
- 控件: 控件概觀
- 輸入:輸入和互動
- 動作:適用於 Windows 應用程式的動作
- 輔助功能:Windows 應用程式的易用性
- 範例:WinUI 3 資源庫應用程式