Visual Studio for Windows 應用程式開發

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。

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 空白應用程式範本建立的應用程式,顯示一個空白視窗並有標題欄。

WinUI 瀏覽應用程式

建立一個 C# 應用程式,左側窗格有 NavigationView。 範本包含「首頁」和「關於」頁面、一個設定項目,以及在這些頁面與項目之間切換的導航代碼。

一個由 WinUI 導航應用程式範本建立的應用程式,顯示一個包含首頁、關於和設定項目的導覽窗格,以及首頁。

WinUI TabView 應用程式

建立一個帶有延伸至標題欄的 TabView 的 C# 應用程式。 範本包含首頁和關於分頁,以及新增分頁的按鈕。

一個從 WinUI TabView 應用程式範本建立的應用程式,標題欄中顯示 Home 和 About 分頁。

WinUI MVVM 應用程式

建立一個 C# 應用程式,將 UI 與邏輯分離,並採用 MVVM 模式。 範本使用 CommunityToolkit.Mvvm 來管理可觀察屬性和指令,並顯示綁定到視圖模型的計數器。

一個由 WinUI MVVM 應用程式範本建立的應用程式,顯示「Hello, WinUI!」標題和帶有遞增與遞減按鈕的計數器。

空白應用程式(隨 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 分頁。

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 去看看所有物品範本。

另請參閱