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