WinUI とWindows アプリ SDKは新しいテクノロジであり、UWP と比較すると、サポートされていない機能がいくつかあります。 このトピックでは、移行を試みる前にサポートされる機能について説明します。
| 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。 よりシンプルな表形式データには、GridView レイアウトの ListView を検討してください。 |
| CameraCaptureUI | ✅ サポートされています。CameraCaptureUI (1.7 で導入) を参照してください。 代替 API については、「ビデオ キャプチャの使用」を参照してください。 |
| Composition/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 は使用できません。 「 既知の制御ギャップ」を参照してください。 |
| シングルアプリ キオスク | ❌ 2.0 ではサポートされていません |
| Xbox と HoloLens | ❌ 2.0 ではサポートされていません |
パフォーマンスに関する考慮事項
現在、バージョン 2.0 のWindows アプリ SDKでは、WinUI アプリの起動速度、RAM 使用量、インストール サイズは、UWP で見られるよりも大きく、遅くなっています。 この改善に積極的に取り組んでいます。
既知の制御ギャップ
次の UWP コントロールには、Windows アプリ SDK 2.0 の時点で安定した WinUI 3 に相当するものはありません。 このセクションでは、ギャップと使用可能な代替手段の一覧を示します。
| UWP コントロールまたは API | Status | 代替案 |
|---|---|---|
| InkCanvas | 実験段階のみ(2.0 Experimental 1);安定版には含まれません | Win2D でのポインター入力処理; サード パーティ製のインク ライブラリ |
| InkToolbar | 該当なし | Win2D インク機能と組み合わせたカスタム ツールバー |
| DataGrid | ファースト パーティコントロールなし | CommunityToolkit DataGrid は UWP 専用 (v7.1.0) です。WinUI.TableView は WinUI 3 コミュニティの代替手段です |
| 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