共用方式為


開始使用適用於UWP的 WinUI 2

WinUI 2.8 是最新的穩定版 WinUI,可用於建置生產 UWP 應用程式(以及使用 XAML Islands 的桌面應用程式)。

可將此程式庫作為 NuGet 套件,新增至任何新的或現有的 Visual Studio 專案中。

備註

如需使用最新版 WinUI 3 建置 Windows 傳統型應用程式的詳細資訊,請參閱 WinUI 3

設定 Visual Studio 以進行 UWP 開發

下載 Visual Studio 2022 並安裝 UWP 開發工具。 如需更詳細的指示,請參閱在Visual Studio檔中 建立 UWP 應用程式

在 Visual Studio 安裝程式應用程式的 [ 工作負載] 索引 標籤上,選取下列工作負載和元件:

  • 選取 WinUI 應用程式開發 工作負載。 然後,在 [ 安裝詳細數據 ] 窗格的 [WinUI] 應用程式開發 節點底下,選取您需要的 UWP 選項(這也會選取任何其他必要元件。):

    • 針對 C#,選取 [通用 Windows 平臺工具]。
    • 針對C++,請選取 [C++ (v14x) 通用 Windows 平臺工具 (除非您有使用舊版的特定原因,否則請選擇最新版本)。

備註

在 Visual Studio 17.10 - 17.12 中,此工作負載稱為 Windows 應用程式開發

下載並安裝 WinUI

  1. 開啟現有的專案,或使用 Visual C# > Windows > Universal 下的空白應用程式範本或語言投影的適當範本來建立新專案。

    這很重要

    若要使用 WinUI 2.8,您必須在專案屬性中設定 TargetPlatformVersion = 10.0.18362.0 和 TargetPlatformMinVersion >>= 10.0.17763.0。

  2. 在 [方案總管] 面板中,以滑鼠右鍵點擊您的專案名稱,然後選取 [管理 NuGet 套件]

    [方案總管] 面板的螢幕快照,其中項目被右鍵點擊,並突出顯示 [管理 NuGet 套件] 選項。
    在 [方案總管] 面板中對專案名稱按一下右鍵,且醒目提示 [管理 NuGet 套件] 選項。

  3. 在 [NuGet 套件管理員]中,選取 [瀏覽] 標籤,然後搜尋 Microsoft.UI.XamlWinUI。 選取您想要使用的 WinUI NuGet 套件Microsoft.UI.Xaml 套件包含適用於所有應用程式的 Fluent 控制項和功能)。 按兩下 [安裝]。

    核取 [包含發行前版本] 複選框,以查看包含實驗性新功能的最新發行前版本。

    NuGet 套件管理員對話框的螢幕截圖,顯示 [瀏覽] 標籤,搜尋欄位中輸入
    [NuGet 套件管理員] 對話框顯示 [瀏覽] 分頁,搜尋欄位中輸入 winui,並勾選 [包含發行前版本]。

  4. 將 WinUI 主題資源新增至 App.xaml 檔案。

    根據您是否有額外的應用程式資源,有兩種方式可以執行這項作。

    一。 如果您不需要其他應用程式資源,請新增 WinUI resources 元素 XamlControlsResources ,如下列範例所示:

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        RequestedTheme="Light">
    
        <Application.Resources>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
        </Application.Resources>
    
    </Application>
    

    b。 如果您有其他資源,建議您將這些資源新增至 XamlControlsResources.MergedDictionaries。 這與平臺的資源系統配合使用,以允許覆蓋 XamlControlsResources 資源。

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:controls="using:Microsoft.UI.Xaml.Controls"
        RequestedTheme="Light">
    
        <Application.Resources>
            <controls:XamlControlsResources>
                <controls:XamlControlsResources.MergedDictionaries>
                    <ResourceDictionary Source="/Styles/Styles.xaml"/>
                    <!-- Other app resources here -->
                </controls:XamlControlsResources.MergedDictionaries>
            </controls:XamlControlsResources>
        </Application.Resources>
    
    </Application>
    
  5. 將 WinUI 套件的參考新增至 XAML 頁面和/或程式代碼後置頁面。

    • 在 XAML 頁面中,於頁面頂端新增參考

      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
    • 在您的程式碼中(如果您想不加限定地使用類型名稱),可以加入 using 指令。

      using MUXC = Microsoft.UI.Xaml.Controls;
      

C++/WinRT 專案的其他步驟

當您將 NuGet 套件新增至 C++/WinRT 專案時,工具會在專案的 \Generated Files\winrt 資料夾中產生一組投影標頭。 若要將這些標頭檔帶入您的專案,以便對這些新類型的參考能夠解析,您可以進入您的預編譯標頭檔案(通常是 pch.h),並將它們包含在內。 以下是包含 Microsoft.UI.Xaml 套件所生成的標頭檔案範例。

// pch.h
...
#include <winrt/Microsoft.UI.Xaml.Automation.Peers.h>
#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
#include <winrt/Microsoft.UI.Xaml.Media.h>
#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h>
...

如需將 WinUI 簡單支援新增至 C++/WinRT 專案的完整逐步解說,請參閱 簡單的C++/WinRT WinUI 範例

GitHub 上的 WinUI

歡迎 GitHub 上的 microsoft-ui-xaml 存放庫中 的錯誤報告。