次の方法で共有


UWP 用 WinUI 2 の使い始め方

WinUI 2.8 は、運用環境の UWP アプリケーション (および XAML Islands を使用したデスクトップ アプリケーション) の構築に使用できる WinUI の最新の安定バージョンです。

ライブラリは、新規または既存の Visual Studio プロジェクトに追加できる NuGet パッケージとして使用できます。

最新バージョンの WinUI 3 を使用した Windows デスクトップ アプリの構築の詳細については、 WinUI 3 を参照してください。

UWP 開発用に Visual Studio を設定する

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.Xaml または WinUI を検索します。 使用する WinUI NuGet パッケージ を選択します ( Microsoft.UI.Xaml パッケージには、すべてのアプリに適した Fluent コントロールと機能が含まれています)。 [インストール] をクリックします。

    [プレリリースを含める] チェックボックスをオンにして、試験的な新機能を含む最新のプレリリース バージョンを確認します。

    検索フィールドに win u i が表示され、[プレリリースを含める] がオンになっている [参照] タブを示す [NuGet パッケージ マネージャー] ダイアログ ボックスのスクリーンショット。
    検索フィールドに winui が入力され、[プレリリースを含める] がチェックされた状態の [参照] タブを表示している [NuGet パッケージ マネージャー] ダイアログ ボックス。

  4. WinUI テーマ リソースを App.xaml ファイルに追加します。

    これを行うには、追加のアプリケーション リソースがあるかどうかに応じて、2 つの方法があります。

    ある。 他のアプリケーション リソースが必要ない場合は、次の例に示すように、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. XAML ページと分離コード ページの両方に WinUI パッケージへの参照を追加します。

    • 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>
...

C++/WinRT プロジェクトに WinUI の単純なサポートを追加する詳細な手順については、単純 な C++/WinRT WinUI の例を参照してください。

GitHub の WinUI

GitHub の microsoft-ui-xaml リポジトリ のバグ レポートを歓迎します。