Visual Studio は、WinUI と Windows アプリ SDK を使用して Windows アプリをビルドする場合に推奨される IDE です。 これは、XAML ベースのアプリ開発用に構築された Windows プラットフォームとツールとの緊密な統合を提供します。
Windowsアプリ開発者向けの主な機能は次のとおりです。
- XAML ホット リロード — アプリの実行中に XAML マークアップを変更し、再起動せずにすぐに変更が適用されるのを確認します
- XAML ライブ ビジュアル ツリー - 実行中のアプリのランタイム ビジュアル ツリーを調べて、レイアウトの問題をデバッグし、要素階層を理解します
- XAML および C#/C++ 用の IntelliSense - マークアップとコードビハインドの両方について、コード補完、クイック ヒント、およびエラーの強調表示を取得します
- 統合デバッグ - XAML とコードにブレークポイントを設定し、データ バインディングを検査し、UI レンダリングの問題を診断する
開始するには、「 WinUI 3 プロジェクトを作成して実行する」を参照してください。
WinUI project テンプレート
Visual Studioには、WinUI アプリをすばやく作成するのに役立つプロジェクト テンプレートが含まれています。 検索するには、File>New>Project を開き、プロジェクトの種類のドロップダウンから WinUI でフィルターをかけるか、WinUI を検索します。
アプリ テンプレート
開始元にしたいアプリ シェルに基づいてテンプレートを選択します。 テンプレート名を選択すると、そのテンプレートで作成されるアプリのスクリーンショットが表示されます。
| テンプレート | Language | winapp CLI テンプレート | 説明 |
|---|---|---|---|
| WinUI 空のアプリ (パッケージ化) | C# と C++ |
winui (C#) |
コンテンツのない 1 つのウィンドウ。 これは、ほとんどの新しいアプリに推奨される開始点です。 |
| WinUI ナビゲーション アプリ | C# | winui-navview |
[ホーム]、[About]、[設定] ページを含む NavigationView シェル。 |
| WinUI TabView アプリ | C# | winui-tabview |
タイトル バーにタブがある TabView シェル。 |
| WinUI MVVM アプリ | C# | winui-mvvm |
CommunityToolkit.Mvvm で Model-View-ViewModel (MVVM) パターンを使用するページおよびビュー モデル。 |
| Blank App (WAP Project でパッケージ化された) | C# と C++ | 該当なし | 空のアプリと個別の Windows Application Packaging プロジェクト |
コマンド ラインからプロジェクトを作成する
C# アプリ テンプレートは、Windows アプリ開発 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で開くことができます。 詳細については、「 WinUI での winapp CLI の使用」を参照してください。
WinUI 空のアプリ (パッケージ化)
WinUI ベースの UI を使用して、C# (.NET) または C++ (Win32) でデスクトップ アプリを作成します。 projectは、Microsoft.UI.Xaml.Window から派生した 1 つのウィンドウで始まり、独自のコントロールとページを追加できます。 これは、ほとんどの新しいアプリに推奨される開始点です。 チュートリアルについては、「 WinUI 3 プロジェクトの作成と実行」を参照してください。
WinUI ナビゲーション アプリ
左側のペインに NavigationView を含む C# アプリを作成します。 テンプレートには、[ホーム] ページと [About] ページ、設定項目、およびそれらの間を切り替えるナビゲーション コードが含まれます。
WinUI TabView アプリ
タイトル バーに拡張される TabView を使用して C# アプリを作成します。 テンプレートには、[ホーム] タブと [バージョン情報] タブと、新しいタブを追加するためのボタンが含まれています。
WinUI MVVM アプリ
MVVM パターンを使用してロジックから UI を分離する C# アプリを作成します。 このテンプレートは、監視可能なプロパティとコマンドに CommunityToolkit.Mvvm を使用し、ビュー モデルにバインドされたカウンターを表示します。
空のアプリ (WAP Project でパッケージ化)
上記の WinUI 空のアプリ (パッケージ化) テンプレートと同じですが、ソリューションに別の Windows アプリケーション パッケージ プロジェクト を追加します。 このprojectでは、配布用の MSIX パッケージへのアプリのビルドが処理されます。 より簡単なセットアップを希望する場合は、代わりに single-project MSIX を使用して、個別のパッケージ化projectを維持しないようにすることができます。
コンポーネント テンプレートとテスト テンプレート
これらのテンプレートは、WinUI アプリと共に動作するライブラリとテスト プロジェクトを作成します。
| テンプレート | Language | winapp CLI テンプレート | 説明 |
|---|---|---|---|
| WinUI クラス ライブラリ | C# | winui-lib |
WinUI アプリ間でコードと UI コンポーネントを共有するための.NET クラス ライブラリ (DLL)。 |
| Windows ランタイム コンポーネント | C++ | 該当なし | Windows ランタイム コンポーネントプログラミング言語に関係なく、WinUI ベースの UI を使用するすべてのアプリで使用できる C++/WinRT で記述されています。 |
| WinUI 単体テスト アプリ | C# と C++ |
winui-unittest (C#) |
アプリに対して自動テストを記述して実行するための MSTest project。 |
WinUI 項目テンプレート
項目テンプレートを使用すると、既存の WinUI projectに新しいファイルを追加できます。 ソリューション エクスプローラー でプロジェクトを右クリックし、Add>New Item を選択し、 WinUI タブを選択します。
| テンプレート | Language | 説明 |
|---|---|---|
| 空白ページ | C# と C++ | Microsoft.UI.Xaml.Controls.Page クラスから派生した新しいページを定義する XAML ファイルとコード ファイルを追加します。 |
| 空白のウィンドウ | C# と C++ | Microsoft.UI.Xaml.Window クラスから派生した新しいウィンドウを定義する XAML ファイルとコード ファイルを追加します。 |
| コンテンツ ダイアログ | C# | Microsoft.UI.Xaml.Controls.ContentDialog クラスから派生した新しいダイアログを定義する XAML ファイルとコード ファイルを追加します。 詳細については、「ダイアログ コントロール」を参照してください。 |
| リソース ディクショナリ | C# と C++ | XAML リソースの空のキー付きコレクションを追加します。 詳細については、「 ResourceDictionary および XAML リソース参照」を参照してください。 |
| リソース ファイル (.resw) | C# と C++ | アプリの文字列と条件付きリソースを格納するためのファイルを追加します。 この項目を使用すると、アプリのローカライズに役立ちます。 詳細については、「 UI およびアプリ パッケージ マニフェストの文字列をローカライズする」を参照してください。 |
| テンプレート化されたコントロール | C# と C++ | 既定のスタイルでテンプレート 化されたコントロールを作成するためのコード ファイルを追加します。 テンプレート 化されたコントロールは、 Microsoft.UI.Xaml.Controls.Control クラスから派生します。この項目テンプレートの使用方法を示すチュートリアルについては、「 XAML テンプレート コントロールの構築」を参照してください。 テンプレート化されたコントロールの詳細については、「 カスタム XAML コントロール」を参照してください。 |
| ユーザー コントロール | C# と C++ | Microsoft.UI.Xaml.Controls.UserControl クラスから派生するユーザー コントロールを作成するための XAML ファイルとコード ファイルを追加します。 通常、ユーザー コントロールは関連する既存のコントロールをカプセル化し、独自のロジックを提供します。ユーザー コントロールの詳細については、「 カスタム XAML コントロール」を参照してください。 |
C# プロジェクトのコマンド ラインからこれらの項目を追加するには、一致する dotnet new 項目テンプレート ( dotnet new winui-page -n SettingsPageなど) を使用します。 すべての項目テンプレートを表示するには、dotnet new list winuiを実行します。
こちらも参照ください
Windows developer