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 をダウンロードしてインストールする
既存のプロジェクトを開くか、Visual C# > Windows > Universal の下にある空のアプリ テンプレート、または言語プロジェクションに適したテンプレートを使用して新しいプロジェクトを作成します。
重要
WinUI 2.8 を使用するには、プロジェクトのプロパティで TargetPlatformVersion >= 10.0.18362.0 と TargetPlatformMinVersion >= 10.0.17763.0 を設定する必要があります。
ソリューション エクスプローラー パネルで、プロジェクト名を右クリックし、[ NuGet パッケージの管理] を選択します。
プロジェクトが右クリックされ、[NuGet パッケージの管理] オプションが強調表示された [ソリューション エクスプローラー] パネル。NuGet パッケージ マネージャーで、[参照] タブを選択し、Microsoft.UI.Xaml または WinUI を検索します。 使用する WinUI NuGet パッケージ を選択します ( Microsoft.UI.Xaml パッケージには、すべてのアプリに適した Fluent コントロールと機能が含まれています)。 [インストール] をクリックします。
[プレリリースを含める] チェックボックスをオンにして、試験的な新機能を含む最新のプレリリース バージョンを確認します。
検索フィールドに winui が入力され、[プレリリースを含める] がチェックされた状態の [参照] タブを表示している [NuGet パッケージ マネージャー] ダイアログ ボックス。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>
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 リポジトリ のバグ レポートを歓迎します。