UWP から WinUI 3 への移行時にサポートされる内容

移行する前に、WinUI 3 で完全にサポートされている UWP 機能と、代替手段があり、まだサポートされていないWindows アプリ SDKを確認します。

UWP 機能 WinUI の状態
背景アクリル DesktopAcrylicController を通じて利用可能です。
バックグラウンド タスク ✅ サポートされています。BackgroundTaskBuilder (1.7 で導入) を参照してください。
ContentDialog ✅ 使用可能。 WinUI 3 の MessageDialog よりも優先されます (HWND 相互運用は必要ありません。代わりに XamlRoot 設定します)。
RichEditBox ✅ 使用可能。
WebView (UWP) ✅ WinUI 3 の置換である WebView2 を使用します。 WebView2 ランタイム (Microsoft Edge を介してほとんどのWindows 10/11 デバイスにプレインストールされている) が必要です。
DataGrid ❌ ファースト パーティ WinUI 3 コントロールはありません。 CommunityToolkit DataGrid は UWP 専用 (バージョン 7.1.0) であり、WinUI 3 に移植されていません。 コミュニティの代替手段: WinUI.TableView。 よりシンプルな表形式データには、ListView レイアウトの GridView を検討してください。
CameraCaptureUI ✅ サポートされています。CameraCaptureUI (1.7 で導入) を参照してください。 代替 API については、「ビデオ キャプチャの使用」を参照してください。
コンポジション/DirectX 相互運用 ✅ ほとんどのコンポジションおよび描画機能がサポートされています。 「ビジュアル レイヤーを使用して UI を強化する」を参照してください。
Store 経由での配布 ✅ サポートされています
ライブ タイル (Windows 10) ✅ サポートされています
MapControl ✅ サポートされています。MapControl (1.5 で導入) を参照してください。
MediaElementMediaPlayerElement MediaPlayerElementを使用します。これは 1.2 で導入されました。
MSAL ライブラリ ✅ サポートされています
MSIX ✅ サポートされています
シングルインスタンシング ✅ サポートされています
TaskbarManager Api ✅ サポートされています。詳細については、TaskbarManager デスクトップ サンプルを参照してください。
Toast 通知 ✅ サポートされています
Visual Studio App Center 2025 年 3 月 31 日に廃止。 分析と診断の機能は、2027 年 3 月 31 日まで継続されます。Azure Monitor
WebAuthenticationBroker ✅ サポートされています。Microsoft.Security.Authentication.OAuth (1.7 で導入) 参照してください。
最適な起動速度とパフォーマンス ⚠️ 若干のデメリットがあります。パフォーマンスに関する考慮事項を参照してください。
CoreTextServicesManager ️ Windows 11でのみサポートされます
PrintManager ️ Windows 11でサポート (Windows 10 ではまだ使用できません)
CoreWindow と関連 API ❌ 2.0 ではサポートされていません。 同じ機能の一部を備えた代替 API については、「AppWindow」と「HWNDベースの API」を参照してください。
ゲームパッド入力 の仮想キーのサポート ❌2.0 ではサポートされていません。WinUI でのゲームパッドのサポートを参照してください
InkCanvas ⚠️ 試験的のみ (2.0 実験 1 で導入)。 安定した 2.0 チャネルでは使用できません。 InkToolbar は使用できません。 「 既知の制御ギャップ」を参照してください。 XAML でInkCanvasまたはInkToolbarを参照すると、WMC0001 Unknown type名前空間にこれらの型が存在しないため、Microsoft.UI.Xaml.Controlsビルド エラーが発生します。
Windows.Data.Html.HtmlUtilities ❌IE/Trident エンジン (iertutil.dll) を呼び出します。これは、パッケージ化されたWindows アプリ SDK アプリのSTATUS_STACK_BUFFER_OVERRUN (0xc0000409) でフェイル ファーストします。 従来の UWP WebView コントロールを使用すると、同じクラッシュが発生します。 HTML レンダリングには WebView2 を使用し、シナリオではマネージド HTML からテキストへのライブラリ (ConvertToText など) を使用します。
CaptureElement ❌ WinUI 3 に相当するものはありません。 「 既知の制御ギャップ」を参照してください。
RadialController 相互運用 IRadialControllerInterop.CreateForWindow は、デスクトップ対応と文書化されているにもかかわらず、パッケージ化された WinUI 3 アプリでは実行時に即時終了します。 使用可能な回避策はありません。「 既知の制御ギャップ」を参照してください。
シングルアプリ キオスク ❌ 2.0 ではサポートされていません
Xbox と HoloLens ❌ 2.0 ではサポートされていません

パフォーマンスに関する考慮事項

Windows アプリ SDK 2.0 の時点では、WinUI アプリの起動速度、RAM 使用率、インストール サイズは、UWP で見られるよりも大きく、低速です。 この改善に積極的に取り組んでいます。

既知の制御ギャップ

次の UWP コントロールには、Windows アプリ SDK 2.0 の時点で安定した WinUI 3 に相当するものはありません。 このセクションでは、ギャップと使用可能な代替手段の一覧を示します。

UWP コントロールまたは API Status 代替案
InkCanvas 実験段階のみ(2.0 Experimental 1);安定版には含まれません Win2D でのポインター入力処理; サード パーティ製のインク ライブラリ
InkToolbar 該当なし Win2D インク機能と組み合わせたカスタム ツールバー
CaptureElement 該当なし MediaPlayerElementMediaSource.CreateFromMediaFrameSource と共に使用して、カメラ プレビューのシナリオに対応する
RadialController パッケージ アプリでのランタイム エラー ファーストパーティの代替手段はありません。カスタム ダイヤル UI を実装するか、Win32 生入力を使用する
DisplayRequest 該当なし Win32 SetThreadExecutionState API

Note

「実験的」とマークされたコントロールは、Windows アプリ SDK の実験的チャネルで利用できますが、まだ安定版にはなっていません。 試験段階の API は、将来のリリースで変更または削除される可能性があります。 運用アプリケーションでは実験用 API を使用しないでください。

Visual Studio

Visual Studio (および Blend for Visual Studio) の XAML デザイナーの Design タブでは、WinUI 3 プロジェクトは現在サポートされていません (Windows アプリ SDK のバージョン 2.0 以降)。 詳細については、「XAML デザイナーを使用して UI を作成する」を参照してください。 推奨されるランタイム デザイン ワークフローについては、 WinUI 3 の XAML ランタイム デザイン ツールに関する記事を参照してください。

参照