Visual Studio 是推薦用來建立 Windows 應用程式的 IDE,支援使用 WinUI 以及 Windows 應用程式 SDK。 它與專為 XAML 應用程式開發打造的 Windows 平台及工具深度整合。
Windows 應用程式開發者的主要功能包括:
- XAML 熱重新載入 — 在應用程式執行時修改 XAML 標記,立即看到變更,無需重啟
- XAML 即時視覺樹 — 檢查你執行中的應用程式的執行時視覺樹,以除錯版面問題並了解元素階層
- IntelliSense 適用於 XAML 和 C#/C++ — 提供程式碼補全、快速資訊,以及標記與程式碼背後的錯誤標示
- 整合除錯 — 在 XAML 與程式碼中設定斷點,檢查資料綁定,並診斷 UI 渲染問題
要開始,請參考 「建立並執行 WinUI 3 專案」。
WinUI project 範本
Visual Studio 包含專案範本,幫助你快速建立 WinUI 應用程式。 要找到它們,請開啟 File>New>Project,然後在project類型下拉選單中依WinUI篩選,或搜尋 WinUI。
應用程式範本
根據你想開始的應用程式殼層選擇範本。 選擇範本名稱即可查看該範本所建立的應用程式截圖。
| Template | 語言 | winapp CLI 範本 | 說明 |
|---|---|---|---|
| WinUI 空白應用程式(封裝版) | C# 和C++ |
winui (C#) |
一個沒有內容的視窗。 這是大多數新應用程式的建議起點。 |
| WinUI 導航應用程式 | C# | winui-navview |
一個包含首頁、關於和設定頁面的 NavigationView 殼層。 |
| WinUI TabView 應用程式 | C# | winui-tabview |
一個 TabView 容器,分頁位於標題列。 |
| WinUI MVVM 應用程式 | C# | winui-mvvm |
一個使用 Model-View-ViewModel(MVVM)模式並搭配 CommunityToolkit.Mvvm 的頁面與檢視模型。 |
| 空白應用程式(隨 WAP Project 打包) | C# 和C++ | 無法提供 | 一個空白應用程式加上一個獨立的 Windows 應用程式封裝 Project。 |
從命令列建立專案
C# 應用程式範本也可透過終端機的 Windows 應用程式 Development CLI(winapp CLI)取得。 將範本名稱從表格傳到 winapp new,然後建立並啟動應用程式,使用:winapp run
winapp new --name MyApp --template winui-navview --use-defaults
cd MyApp
winapp run
執行 winapp new --list 查看所有已安裝的範本。 產生的專案是標準的 .csproj,所以你可以隨時在 Visual Studio 中開啟它。 更多資訊請參閱 「使用 Winapp CLI 搭配 WinUI」。
WinUI 空白應用程式 (已封裝)
建立以 C#(.NET)或 C++(Win32)撰寫的桌面應用程式,並使用以 WinUI 為基礎的使用者介面。 這個專案從一個由 Microsoft.UI.Xaml.Window 衍生出的單一視窗開始,準備讓你自行添加控制項和頁面。 這是大多數新應用程式的建議起點。 想看攻略,請參考 「建立並執行 WinUI 3 專案」。
WinUI 瀏覽應用程式
建立一個 C# 應用程式,左側窗格有 NavigationView。 範本包含「首頁」和「關於」頁面、一個設定項目,以及在這些頁面與項目之間切換的導航代碼。
WinUI TabView 應用程式
建立一個帶有延伸至標題欄的 TabView 的 C# 應用程式。 範本包含首頁和關於分頁,以及新增分頁的按鈕。
WinUI MVVM 應用程式
建立一個 C# 應用程式,將 UI 與邏輯分離,並採用 MVVM 模式。 範本使用 CommunityToolkit.Mvvm 來管理可觀察屬性和指令,並顯示綁定到視圖模型的計數器。
空白應用程式(隨 WAP Project 打包)
與上述 WinUI 空白應用程式(封裝)範本相同,但新增了一個獨立的 Windows 應用程式封裝專案 。 這個project負責將你的應用程式建置成 MSIX 套件以便發佈。 如果你偏好較簡單的設定,可以改用單一專案 MSIX,以避免維護獨立的封裝專案。
元件與測試範本
這些範本會建立與 WinUI 應用程式並行運作的函式庫與測試專案。
| Template | 語言 | winapp CLI 範本 | 說明 |
|---|---|---|---|
| WinUI 類別函式庫 | C# | winui-lib |
一個 .NET 類別函式庫(DLL),用於在 WinUI 應用程式間分享程式碼和 UI 元件。 |
| Windows 執行時元件 | C++ | 無法提供 | 一個以 C++/WinRT 撰寫的 Windows 執行階段 元件,任何基於 WinUI 的應用程式都能使用,無論其程式語言為何。 |
| WinUI 單元測試應用程式 | C# 和C++ |
winui-unittest (C#) |
一個用於撰寫和執行針對您的應用程式的自動化測試的 MSTest專案。 |
WinUI 項目範本
項目範本可以讓你為現有的 WinUI project 新增檔案。 右鍵點擊你的專案,方案總管,選擇 Add>New Item,然後選擇 WinUI 分頁。
| Template | 語言 | 說明 |
|---|---|---|
| 空白頁 | C# 和C++ | 新增 XAML 檔案和程式碼檔,以定義衍生自 Microsoft.UI.Xaml.Controls.Page 類別的新頁面。 |
| 空白視窗 | C# 和C++ | 新增 XAML 檔案和程式碼檔,以定義衍生自 Microsoft.UI.Xaml.Window 類別的新視窗。 |
| 內容對話方塊 | C# | 新增一個 XAML 檔案與程式碼檔,定義一個衍生自 Microsoft.UI.Xaml.Controls.ContentDialog 類別的新對話方塊。 欲了解更多資訊,請參閱 對話控制項。 |
| 資源字典 | C# 和C++ | 加入一個具有索引鍵的空 XAML 資源集合。 如需詳細資訊,請參閱 ResourceDictionary 和 XAML 資源參考。 |
| 資源檔案 (.resw) | C# 和C++ | 新增檔案來儲存應用程式的字串和條件式資源。 您可以使用此項目來協助當地語系化您的應用程式。 如需詳細資訊,請參閱 UI 和應用程式套件指令清單中的本機化字串。 |
| 範本化控制項 | C# 和C++ | 新增程式代碼檔案,以建立具有默認樣式的樣板化控件。 範本化控制項衍生自 Microsoft.UI.Xaml.Controls.Control 類別。想了解如何使用這個項目範本的攻略,請參見 「建置 XAML 模板控制項」。 如需樣板化控制件的詳細資訊,請參閱 自訂 XAML 控制件。 |
| 使用者控制件 | C# 和C++ | 新增 XAML 檔案和程式碼檔,以建立衍生自 Microsoft.UI.Xaml.Controls.UserControl 類別的使用者控制項。 使用者控制項通常會封裝相關的現有控制項,並提供自己的邏輯。如需使用者控制件的詳細資訊,請參閱 自訂 XAML 控制件。 |
要從 C# 專案的命令列新增這些項目,請使用對應的 dotnet new 項目範本,例如 dotnet new winui-page -n SettingsPage。 執行 dotnet new list winui 去看看所有物品範本。