Visual Studio での WinUI 3 テンプレート

開発用コンピューターを設定したら (「Windows App SDK 用のツールをインストールする」を参照してください) Visual Studio で、いずれかの WinUI 3 プロジェクトから開始することで WinUI 3 アプリを作成する準備が整います。 このトピックでは、使用可能なプロジェクト テンプレートと項目テンプレートについて説明します。 「最初の WinUI 3 プロジェクトを作成する」では、プロジェクトの作成手順を示します。

WinUI 3 プロジェクト テンプレートにアクセスするには、[新規プロジェクト] ダイアログのドロップダウン フィルターで、[C#]/[C++][Windows][WinUI] をそれぞれ選択します。 または、WinUI を検索して、使用可能な C# または C++ テンプレートのいずれかを選択することもできます。

WinUI project templates

WinUI 3 用のプロジェクト テンプレート

これらの WinUI 3 プロジェクト テンプレートを使用して、アプリの作成を開始できます。

空のアプリ、パッケージ (WinUI 3 in Desktop)

このプロジェクト テンプレートにより、WinUI 3 ベースのユーザー インターフェイスが使用され、デスクトップ .NET (C#) またはネイティブ Win32 (C++) アプリが作成されます。 生成されるプロジェクトには、UI の構築を始める際に使用できる WinUI 3 ライブラリの Microsoft.UI.Xaml.Window クラスから派生する基本ウィンドウが含まれています。 このプロジェクト テンプレートの使用の詳細については、「最初の WinUI 3 プロジェクトを作成する」を参照してください。

このプロジェクト テンプレートの機能は、Windows App SDK 拡張機能のバージョンによって異なります。

  • バージョン 1.0 Preview 2: このリリース以降、このプロジェクト テンプレートにより、アプリケーションを MSIX パッケージにビルドするために必要なパッケージ マニフェストやその他のサポートを備えたアプリケーション プロジェクトを生成されるようになりました (別のパッケージ プロジェクトを使用する必要はありません)。 このプロジェクト テンプレートを使用するには、Visual Studio 用の単一プロジェクト MSIX パッケージング ツール拡張機能もインストールする必要があります。

    Note

    バージョン 1.0 Preview 2 以降のリリースでは、このプロジェクト テンプレートは、生成される MSIX パッケージ内で 1 つの実行可能ファイルのみをサポートします。 複数の実行可能ファイルを 1 つの MSIX パッケージにまとめる必要がある場合は、空のアプリ、Windows アプリケーション パッケージ プロジェクトでパッケージ化 (デスクトップの WinUI 3) プロジェクト テンプレートを使用するか、Windows アプリケーション パッケージ プロジェクトをソリューションに追加する必要があります。

  • バージョン 1.0 Preview 1 以前: これらのリリースでは、このプロジェクト テンプレートにより、アプリケーションを MSIX パッケージにビルドするように構成された、独立した Windows アプリケーション パッケージ プロジェクトを含むソリューションが生成されます。 必要に応じて、Visual Studio 用拡張機能の単一プロジェクト MSIX パッケージング ツールをインストールし、そのパッケージ プロジェクトの設定をアプリケーション プロジェクトにまとめることで、別のパッケージ プロジェクトを保守する必要がなくなります。

空のアプリ、Windows アプリケーション パッケージ プロジェクトでパッケージ化 (デスクトップの WinUI 3)

このプロジェクト テンプレートは、バージョン 1.0 Preview 1 以降のリリースで使用できます。 これにより、WinUI 3 ベースのユーザー インターフェイスを使用するデスクトップ .NET (C#) またはネイティブ Win32 (C++) アプリが作成されます。 生成されるプロジェクトには、UI の構築を始める際に使用できる WinUI 3 ライブラリの Microsoft.UI.Xaml.Window クラスから派生する基本ウィンドウが含まれています。 このプロジェクト テンプレートの使用の詳細については、「最初の WinUI 3 プロジェクトを作成する」を参照してください。

また、このソリューションには、アプリを MSIX パッケージに組み込むよう構成されている別の Windows アプリケーション パッケージ プロジェクトも含まれています。 必要に応じて、Visual Studio 用拡張機能の単一プロジェクト MSIX パッケージング ツールをインストールし、そのパッケージ プロジェクトの設定をアプリケーション プロジェクトにまとめることで、別のパッケージ プロジェクトを保守する必要がなくなります。

[試験的] 空のアプリ (WinUI 3 in UWP)

このプロジェクト テンプレートにより、WinUI 3 ベースのユーザー インターフェイスを持つ C# または C++ UWP アプリが作成されます。 生成されるプロジェクトには、UI の構築を始める際に使用できる、WinUI 3 ライブラリの Microsoft.UI.Xaml.Controls.Page クラスから派生した基本的なページが含まれています。 このプロジェクト テンプレートの詳細については、「WinUI 3 アプリを初めて作成する」を参照してください。

他のコンポーネント用の WinUI プロジェクト テンプレート

これらの WinUI 3 プロジェクト テンプレートを使用すると、WinUI 3 ベースのアプリで読み込んで使用できるコンポーネントを構築することができます。

テンプレート Language 説明
クラス ライブラリ (WinUI 3 in Desktop) C# のみ WinUI 3 ベースのユーザー インターフェイスを備えた他の .NET デスクトップ アプリで使用できる .NET マネージド クラス ライブラリ (DLL) を C# で作成します。
[試験的] クラス ライブラリ (WinUI 3 in UWP) C# のみ WinUI 3 ベースのユーザー インターフェイスを備えた他の UWP アプリで使用できるマネージド クラス ライブラリ (DLL) を C# で作成します。
Windows ランタイム コンポーネント (WinUI 3) C++ C++/WinRT で記述した Windows ランタイム コンポーネントを作成します。これは、WinUI 3 ベースのユーザー インターフェイスを備えた UWP またはデスクトップ アプリであれば、アプリ作成に使用されたプログラミング言語に関係なく使用できます。
[試験的] Windows ランタイム コンポーネント (WinUI 3 in UWP) C# C# で記述された Windows ランタイム コンポーネントを作成します。これは、アプリの記述に使用したプログラミング言語に関係なく、WinUI 3 ベースのユーザー インターフェイスを備えた任意の UWP アプリで使用できます。

WinUI 3 用の項目テンプレート

次の項目テンプレートは、WinUI 3 プロジェクトで使用できます。 これらの WinUI 3 項目テンプレートにアクセスするには、ソリューション エクスプローラーでプロジェクト ノードを右クリックし、[追加] ->[新しい項目] を選択し、[新しい項目の追加] ダイアログの [WinUI] をクリックします。

WinUI item templates

注意

Windows App SDK の試験段階チャネルまたは古いプレビュー リリースがインストールされている場合は、[試験段階] というプレフィックスが付いた、2 番目の項目テンプレートのセットが表示されることがあります。 これらの [試験的] 項目テンプレートは、非実稼働環境のアプリやプレビュー版アプリを作成する場合に使用することをお勧めします。実稼働デスクトップ アプリを作成する場合は、安定性の高い、マークなしの項目テンプレートを使用することをお勧めします。

テンプレート Language 説明
空白のページ (WinUI 3) C++ および C# WinUI 3 ライブラリの Microsoft.UI.Xaml.Controls.Page クラスから派生する新しいページを定義する XAML ファイルとコード ファイルを追加します。
空白のウィンドウ (WinUI 3 in Desktop) C++ および C# WinUI 3 ライブラリの Microsoft.UI.Xaml.Window クラスから派生する新しいウィンドウを定義する XAML ファイルとコード ファイルを追加します。
カスタム コントロール (WinUI 3) C++ および C# 既定スタイルを使用してテンプレート化されたコントロールを作成するためのコード ファイルを追加します。 テンプレート化されたコントロールは、WinUI 3 ライブラリの Microsoft.UI.Xaml.Controls.Control クラスから派生します。

この項目テンプレートの使用方法を示すチュートリアルについては、「C++/WinRT を使用した UWP および WinUI 3 アプリ用のテンプレート化された XAML コントロール」および「C# を使用した UWP および WinUI 3 アプリ用のテンプレート化された XAML コントロール」を参照してください。 テンプレート化されたコントロールの詳細については、「カスタム XAML コントロール」を参照してください。
リソース ディクショナリ (WinUI 3) C++ および C# 空の、XAML リソースのキー付きコレクションを追加します。 詳細については、「ResourceDictionary と XAML リソースの参照」を参照してください。
リソース ファイル (WinUI 3) C++ および C# アプリ用の文字列および条件付きリソースを格納するファイルを追加します。 この項目を使用して、アプリをローカライズすることができます。 詳細については、「UI とアプリ パッケージ マニフェスト内の文字列をローカライズする」を参照してください。
ユーザー コントロール (WinUI 3) C++ および C# WinUI 3 ライブラリの Microsoft.UI.Xaml.Controls.UserControl クラスから派生するユーザー コントロールを作成するための XAML ファイルとコード ファイルを追加します。 通常、ユーザー コントロールによって関連する既存のコントロールがカプセル化され、独自のロジックが提供されます。

ユーザー コントロールの詳細については、「カスタム XAML コントロール」を参照してください。

関連項目