Windows 開発用のサンプル アプリケーション

このページは、特定のタスク、機能、API の使用パターンを示す Windows 開発サンプルを探しているユーザーを対象とします。

このドキュメントのサンプルは、Windows アプリ SDK/WinUI 3、UWP/WinUI 2、.NET MAUI などの機能を示しています。 サンプルのより広範なカタログについては、 サンプル ブラウザー を参照してください。

このドキュメントで識別されるほとんどのサンプルには、Visual Studio で開くことができるソリューション (.sln) ファイルが含まれています。 追加の手順については、各リソースの Readme を参照してください。

Windows App SDK / WinUI 3 サンプル

サンプル リポジトリ

サンプル リポジトリ Description
microsoft/WindowsAppSDK-Samples これは、メイン Windows アプリ SDKサンプル リポジトリです。
WinUI 3 ギャラリー さまざまな WinUI 3 コントロールと、それらを効果的に使用する方法を紹介します。 「ストアの WinUI 3 ギャラリー」を参照してください
入力 & コンポジション ギャラリー さまざまな Microsoft.UI.Composition API 呼び出しを Microsoft.UI.Input 紹介します。

特定のタスクを示すサンプル

サンプル タスク
アクティブ化 アプリのアクティブ化の種類を処理しますアプリのアクティブ化 API は、 などのLaunchFileアクティブ化の種類をアプリが処理する方法をProtocol制御します。
アプリのインスタンス化 アプリケーションのインスタンス化の動作を決定しますアプリインスタンス API は、 ユーザーがアプリケーションの複数のインスタンスを同時に実行できるかどうかを制御します。
Power Notifications 状態通知を使用します状態通知を 使用すると、ユーザーのデバイスが低電力モードなどの特定の状態に入ったときに検出できます。
Restart アプリをプログラムで再起動します。 このサンプルでは、Windows アプリ SDK Restart API を使用します
リソース管理 ユーザーとデバイスの設定に合わせてアプリを調整しますMRT Core リソース管理 API を 使用すると、リソース使用率を特定の状況に合わせて調整できます。
Deployment Manager Deployment API を呼び出 して、Windows アプリケーション フレームワーク コンポーネントが最新であることを確認します。
インストーラー コンソール ウィンドウを使用せずに、Windows アプリ SDK インストーラーを起動します。
DWriteCore を使用した TextRendering DWriteCore API を使用してテキストをレンダリングします。
非パッケージ Windows アプリ SDK外部の場所またはパッケージ化されていないパッケージ化されたフレームワークに依存するアプリの展開ガイドです。パッケージ化されたアプリのデプロイ アーキテクチャの代わりに使用できます。
動的な依存関係 動的依存関係 API を使用して実行時に MSIX パッケージを参照する」に示されている手法を示します。
プッシュ通知 アプリにプッシュ通知を追加します。 プッシュ通知を 使用して、デバイスネイティブ アプリ通知をユーザーに送信できます。
アプリ通知 トースト通知をアプリに追加します。 詳細については、「 アプリ通知」 を参照してください。
カスタム コントロール 「C#/WinRT を使用して Windows ランタイム コンポーネントを作成する」で示されているパターンを使用して、カスタム C#/WinRT コントロールをアプリに追加します。
ウィンドウ化 アプリにウィンドウのサポートを追加して、新しいウィンドウの作成/非表示、タイトルバーのカスタマイズなどを行います。 詳細については、「 App Windows の管理 」を参照してください。

UWP/WinUI 2 サンプル

サンプル リポジトリ

サンプル リポジトリ Description
microsoft/Windows-universal-samples これは、メイン UWP サンプル リポジトリです。
microsoft/DesktopBridgeToUWP-Samples フレームワーク変換のサンプル (Win32 -> UWP など)。
WinUI 2 ギャラリー さまざまな WinUI 2 コントロールと、それらを効果的に使用する方法を紹介します。 「ストアの WinUI 2 ギャラリー」を参照してください
ユニバーサル Windows プラットフォーム (UWP) アプリのサンプル UWP の WinRT API の使用パターンを示します。

特定のタスクを示すサンプル

サンプル タスク
360 度ビデオ再生 360 度のビデオを再生 して、ユーザーにイマーシブ/探索的なエクスペリエンスを提供します。
高度なキャスト 高度なキャストを使用して 、ユーザーがテレビなどの他のデバイスでコンテンツを共有できるようにします。
アニメーション メトリック アプリと Windows との一貫性を維持するために、AnimationMetricsAPI を使用して Windows スタイルのデザインを作成します。
アプリ ウィンドウ 新しいウィンドウを作成 し、その配置、サイズ、またはピクチャインピクチャ モードを制御します。
アプリケーション データ セッションの状態、基本設定、その他の設定などのユーザー固有のデータを簡単に格納して、Windows 内のクラウドにバックアップできるようにします。
アプリケーション リソース 画像や文字列などのリソースをアプリ コードから離して格納すると、いつでも簡単に編集できます。
予定 予定表アプリ統合を使用して予定を作成/管理します。
アソシエーションの起動 関連付けの起動を使用して 、アプリを特定のファイルの種類とプロトコルに関連付けます。
オーディオの作成 オーディオ API を使用して 、オーディオ ファイルの読み込み、オーディオの再生、他のアプリからのオーディオのキャプチャ、オーディオへの効果の適用、カスタム効果の作成を行います。
バックグラウンド タスク バックグラウンド タスクを使用して 、アプリが実行されていない場合は常に特定のイベント (アプリの更新など) を実行します。
基本サスペンション アプリが中断 またはシャットダウンされたときにアプリの状態を保存/復元するには、Suspension Manager を使用します。
カメラ スターター キット MediaCapture API を使用して 、カメラのプレビューの停止/開始、写真/ビデオの撮影、回転の処理、カメラの角度に基づいて要素の調整を行います。
カメラ フレーム 新しいカメラが接続されたときに、個々のカメラ フレームを処理したり、監視したりします。
画面キャプチャの無効化 アプリ内の機密情報を保護するには、画面キャプチャを無効にして有効にします
ファイル アクセス Storage API を使用して 、ファイルへのアクセス、ファイルのプロパティの読み取り、ファイルへのデータの書き込みなどを行います。
ファイル ピッカー ファイルとディレクトリピッカーを作成 して、アプリがユーザーにファイルとディレクトリの選択を求めることができるようにします。
JSON API から返される JSON オブジェクトをシリアル化および逆シリアル化します。
PDF ドキュメント 名前空間を使用して PDFPDF を表示および変更します。
タイトル バー タイトル バーの プロパティ、色、スタイル、コントロールをカスタマイズします。
WebSocket WebSocket を使用して 別のアプリ (またはブラウザー ページ) と通信し、HTTP のオーバーヘッドを回避します。

.NET MAUI のサンプル

サンプル リポジトリ

サンプル リポジトリ Description
dotnet/maui-samples .NET MAUI は、C# と XAML を使用してモバイル アプリとデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。 .NET MAUI を使用すると、1 つの共有コードベースから Android、iOS、iPadOS、macOS、Windows で実行できるアプリを開発できます。 これらは、 サンプル ブラウザーでも使用できます。
.NET ポッドキャスト アプリ .NET ポッドキャスト アプリは、.NET 6、ASP.NET Core、Blazor、.NET MAUI、Azure Container Apps、Orleans などを紹介するサンプル アプリケーションです。

特定のタスクを示すサンプル

サンプル名/リンク タスク
アニメーション アニメーションを使用して 、アプリを実現します。
動作 動作を使用してサブクラス化せずに機能を追加し、代わりに動作クラスをコントロールにアタッチします。
コントロール テンプレート 派生カスタム コントロールとContentPage派生ページのContentViewビジュアル構造を定義します。
データ バインディング オブジェクト を実際の UI 要素にバインドし、変更されたときに互いに応答性の高い更新を行います。
シェル アプリ .NET Shell アプリを使用して 、複雑さを軽減し、コードを再利用し、既存の Windows 機能 (URI ナビゲーションや統合された検索バーなど) をアプリに統合します。
トリガー トリガーを使用して 、イベントまたはデータが変更されたときに特定のコントロールを選択的に更新、非表示、または表示します。

その他の Windows 開発サンプル リポジトリ

サンプル リポジトリ Description
Template Studio ウィザードベースの UI を使用して、アプリの作成を高速化します。
アプリ モデルのサンプル ユニバーサル Windows プラットフォーム (UWP)、Windows フォーム (WinForms)、コンソールなど、さまざまなプラットフォームのコア アプリケーションのアクティブ化とライフサイクル管理インフラストラクチャを示すサンプル アプリが含まれています。
Windows の従来のサンプル Win32、Windows ランタイム (WinRT)、.NET など、さまざまなデスクトップ アプリ のシナリオを示します。
デスクトップ ブリッジから UWP へのブリッジのサンプル デスクトップ アプリ (Win32、Windows Presentation Foundation、Windows フォームなど) とゲームを UWP アプリやゲームに変換するためのデスクトップ変換拡張機能を示します。
DirectX 12 グラフィックスのサンプル DirectX 12 を使用して Windows でグラフィックスを集中的に使用するアプリを構築する方法を示します。
Windows Composition のサンプル 名前空間と Windows.UI.Composition 名前空間のWindows.UI.Xaml型を使用して、美しい UWP アプリを作成する方法を示します。
IoT 用の Windows サンプル デバイス上の Windows 用の開発を開始するのに役立つサンプル アプリ。
Windows Community Toolkit ヘルパー関数、カスタム コントロール、およびアプリ サービスのコレクション。 これにより、Windows 用アプリをビルドするときの一般的な開発者タスクが簡略化され、デモが行われます。
Windows タスクのスニペット UWP アプリ開発者にとって関心のある小さいが有用なタスクを実行するコードのすぐに使用できるスニペット。 これらのスニペットでは、一般的な問題に対するシンプルな解決策と、新しいアプリ機能を実装する際に役立つ簡単なこつを示しています。
Win2D Win2D は、GPU アクセラレーションを使用したイミディエイト モードの 2D グラフィックス レンダリング用の使いやすいWindows ランタイム (WinRT) API です。 これは C# および C++ 開発者が利用でき、Direct2D の機能を利用し、XAML と CoreWindowとシームレスに統合されます。

次の手順