移行する前に、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 で導入) を参照してください。 |
| MediaElement と MediaPlayerElement | ✅ MediaPlayerElementを使用します。これは 1.2 で導入されました。 |
| MSAL ライブラリ | ✅ サポートされています |
| MSIX | ✅ サポートされています |
| シングルインスタンシング | ✅ サポートされています |
| TaskbarManager Api | ✅ サポートされています。詳細については、TaskbarManager デスクトップ サンプルを参照してください。 |
| Toast 通知 | ✅ サポートされています |
| Visual Studio App Center |
❌
2025 年 3 月 31 日に廃止。 分析と診断の機能は、2027 年 3 月 31 日まで継続されます。 |
| WebAuthenticationBroker | ✅ サポートされています。Microsoft.Security.Authentication.OAuth (1.7 で導入) 参照してください。 |
| 最適な起動速度とパフォーマンス | ⚠️ 若干のデメリットがあります。パフォーマンスに関する考慮事項を参照してください。 |
| CoreTextServicesManager | |
| PrintManager | |
| 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 | 該当なし | MediaPlayerElement を MediaSource.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 ランタイム デザイン ツールに関する記事を参照してください。
参照
Windows developer