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

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

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

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

Windows App SDK / WinUI 3 サンプル

サンプル リポジトリ

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

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

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

UWP/WinUI 2 サンプル

サンプル リポジトリ

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

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

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

.NET MAUI のサンプル

サンプル リポジトリ

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

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

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

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

サンプル リポジトリ 説明
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.Xaml および Windows.UI.Composition 名前空間の型を使用して、美しい UWP アプリを作成する方法を示します。
IoT 向けの Windows サンプル デバイス上の Windows の開発を始めるのに役立つサンプル アプリです。
Windows コミュニティ ツールキット ヘルパー関数、カスタム コントロール、およびアプリ サービスのコレクション。 Windows 向けのアプリを構築する際に、一般的な開発タスクの単純化およびデモンストレーションに役立ちます。
Windows タスク スニペット UWP アプリ開発者にとって関心のある、小規模ではあっても有用なタスクを実現する、すぐに使えるコードのスニペットです。 これらのスニペットは、一般的な問題に対する簡単な解決策と、新しいアプリ機能の実装に役立つ簡単なレシピを示しています。
Win2D Win2D は GPU アクセラレーションを使った即時モードの 2D グラフィックス レンダリング用の、使いやすい Windows ランタイム (WinRT) API です。 C# と C++ の開発者向けに用意されており、Direct2D のパワーを活用し、XAML や CoreWindow とシームレスに統合できます。

次のステップ