次の方法で共有


Windows アプリ SDK 1.4 の安定版チャネル リリース ノート

安定チャネルでは、運用環境のアプリによる使用がサポートされている Windows App SDK のリリースが提供されます。 Windows App SDK の安定リリースが使用されるアプリは、Microsoft Store に発行することもできます。

重要なリンク:

最新の安定版チャネル リリース ノート:

Windows App SDK 用のダウンロード

Note

Windows アプリ SDK Visual Studio 拡張機能(VSIX)は、現在は個別のダウンロードとして配布されていません。 それらは、Visual Studio内のVisual Studio Marketplaceで利用可能です。

バージョン 1.4.6 (1.4.240512000)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • 入力の処理中にクラッシュする可能性がある問題を修正しました。
  • 別のアプリからドラッグ アンド ドロップ操作を開始すると、コピー/移動/リンクの正しいドロップ操作が許可されない問題を修正しました。
  • デバッグ用の WinUI ソース サーバー情報が microsoft-ui-xaml GitHub リポジトリを正しくポイントするように修正しました。
  • GitHub の問題 #8857 の修正に関する問題を修正し、ライブラリの resources.pri がアプリの resources.pri に適切にマージされるようにしました。

バージョン 1.4.5 (1.4.240211001)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • マウス ホイールでスクロール中にマウス ボタンをクリックするとアプリケーションがハングするという問題を修正しました。 詳細については、GitHub の問題 #9233 を参照してください。
  • NuGet パッケージのチェーンを参照するときにアセットが重複するという問題を修正しました。 詳細については、GitHub の問題 #8857 を参照してください。
  • メモリ リーク、省略記号メニューが空のときに生じるクラッシュ、ウィンドウ内で誤って制約されている省略記号メニューなど、BreadcrumbBar の問題をいくつか修正しました。
  • グラフィックス リソースを解放するとシャットダウン時にクラッシュする可能性があるという問題を修正しました。

バージョン1.4.4 (1.4.231219000)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • WinUI 3 診断のセキュリティの問題を修正しました。
  • タッチでアクティブ化したときにパスワードボックスにスクリーンキーボードが表示されない入力の問題を修正しました。 詳細については、GitHub issue #8947 を参照してください。
  • Microsoft.UI.Xaml.Controls.dll ファイルのサイズが予期せず大きくなる問題を修正しました。
  • フォーカスの設定時にクラッシュする可能性があった CommandBarFlyout の問題を修正しました。
  • .NET 8 RID 固有の資産処理に対する Windows App SDK のサポートを更新しました。
  • 一部のスワップチェーンが正しく配置または引き伸ばされない問題を修正しました。

バージョン 1.4.3 (1.4.231115000)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • メニューが背景なしで短時間表示される場合がある問題を修正しました。
  • 特定のマルチモニター シナリオで発生する可能性のあるクラッシュを修正しました。
  • コンテキスト メニューが画面外に表示される場合がある問題を修正しました。
  • ウィンドウ スタイルと動作の最大化に関する問題を修正しました。 詳細については、GitHub issue #8996 を参照してください。
  • フォーカスが別のコントロールから予期せず取得されるアイランドに関する問題を修正しました。
  • NavigationView のタブの順序に関する問題を修正しました。
  • 白色のバーがタイトルバーの上部に表示される場合があるレンダリングの問題を修正しました。 詳細については、GitHub issue #8947 を参照してください。
  • さまざまなパフォーマンスの修正。

バージョン 1.4.2 (1.4.231008000)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • メモリとオブジェクトの過剰な割り当てが原因で explorer.exe でクラッシュする問題を修正しました。
  • [戻る] ボタンが正常に動作しなくなるタイトル バーの操作の問題を修正しました。
  • ソース ファイルが複数回含まれている場合に警告が生成される原因となった問題を修正しました。
  • コンテキスト メニューのパフォーマンスに影響する問題を修正しました。
  • ターゲットの .exe が WindowsApps フォルダー内のパッケージの同じ場所を常に指していた .lnk ショートカットの問題を修正しました。
  • 一部のフォントでインド語のテキストの適切なレンダリングに影響する DWriteCore の問題を修正しました。
  • リスト ビューで、入れ子になった選択項目との Tab/Shift + Tab キーを使った適切なキーボード ナビゲーションが行われない問題を修正しました。
  • コンボボックスを 2 回目に展開した後、タッチ操作でコンボボックス項目をスクロールできなくなる問題を修正しました。 詳細については、GitHub issue #8831 を参照してください。
  • 一部の言語で WinAppSDK パッケージに WinUI のローカライズされたリソースが含まれていなかった問題を修正しました。
  • エクスプローラーと XAML でユーザーの優先する言語が表示される方法の不整合を修正しました。
  • エクスプローラーで、アクティブなタブの下に細い線が表示される技術的な問題を修正しました。
  • フレームワークが提供するキーボード アクセラレータの一部が適切にローカライズされていない問題を修正しました。 詳細については、GitHub issue #2023 を参照してください。
  • タップ時に繰り返しスクロールする RepeatButton コントロールの問題を修正しました。
  • WinAppSDK インストーラー .exe を適切なリソース バージョン情報に修正しました。

バージョン 1.4.1 (1.4.230913002)

これは、1.4 リリースの重大なバグの修正が含まれている Windows App SDK のサービス リリースです。

  • 最初のフレームまでの時間を改善するためにパフォーマンスの問題を修正しました。
  • メニューが RequestedTheme に従っていなかった問題を修正しました。 たとえば、この問題により、白い背景に白いテキストが表示される可能性がありました。 詳細については、GitHub イシュー #8756 を参照してください。
  • 一部のメニューでアクリルの背景が完全に透明になる場合がある問題を修正しました。
  • XAML により、Windows でデスクトップの壁紙が不必要に再描画される場合がある問題を修正しました。
  • ListViewGridViewTabNavigation = LocalTabNavigation = Cycle のサポートを修正しました。これにより、方向キーに加えて、TAB キーを使用してヘッダーと項目の間を移動できるようになりました。
  • ツールヒントを閉じたときのいくつかの煩雑な例外を修正しました。 詳細については、GitHub イシュー #8699 を参照してください。

バージョン 1.4 の新機能と更新された機能および既知の問題

以降のセクションでは、バージョン 1.4 の新機能と更新された機能、既知の問題について説明します。

既存の Windows App SDK 1.3 アプリでは、Nuget パッケージを 1.4.230822000 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio にパッケージをインストールして管理する」の「パッケージを更新する」セクションを参照)。

更新されたランタイムと MSIX については、「最新の Windows アプリ SDK ダウンロード」を参照してください。

カスタム タイトル バーと AppWindow タイトル バーの結合

WinUI 3 カスタム タイトル バーは、Windows App SDK 1.4 の内部で、NonClientInputPointerSource API と共に AppWindow タイトルのバー実装を使用します。 その結果、両方のタイトル バー実装が、同じ機能と制限で同じように動作するようになりました。 これは、サポートされているすべてのケースで完全に下位互換性があります。カスタム定義のタイトル バーを持つアプリはすべて、前と同様に動作します。 ただし、カスタム タイトル バーを初めて使用する可能性がある WinUI 3 開発者は、これらの新機能を利用してより簡単に理解し、使用できるようになりました。

  • 開発者が特にタイトル バー要素を定義しないより適切な既定のシナリオ (WinUI 2 からのフォールバック タイトル バーが置き換えられる)
  • タイトル バー内に個別のドラッグ領域があるため、複数のドラッグ領域を作成し、クリック可能なコントロールをクライアント以外の領域 (タイトル バー領域) の任意の部分に配置できる
  • アプリ内の任意の場所に配置したり、アプリ全体をドラッグ可能にしたりできるアプリ全体にわたるドラッグ可能な領域
  • リソース ベースのテーマを置き換えるより適切なテーマのサポート
    • ドラッグ領域は透明であるため、毎回アプリのテーマに従う
  • カスタマイズの豊富さ。[最小化]、[最大化]、[閉じる] ボタンを非表示にする、タイトル バー内にシステム アイコンを配置する、さまざまな領域を NCHITTEST 応答を受信するキャプション ボタンとして機能させる
  • ほとんどのシナリオでは上位レベルの WinUI 3 API を使用するが、下位レベルの制御には AppWindow API を混在させるなど、AppWindow タイトル バー API での組み合わせを可能にする開発者の自由度の向上

ウィジェットの更新

ウィジェット プロバイダーで実装する 3 つの新しいインターフェイス IWidgetProvider2IWidgetProviderAnalyticsIWidgetProviderErrors が追加されました。 IWidgetProvider2 を使用すると、プロバイダーは、ユーザーによって呼び出された [カスタマイズ] アクションに応答できます。これは、ファースト パーティ ウィジェットで使用可能なものと同じです。 IWidgetProviderAnalytics および IWidgetProviderErrors インターフェイスは、各ウィジェットのテレメトリを収集するためにプロバイダーによって使用されます。ウィジェットに関する分析およびエラー イベントは、対応するウィジェット プロバイダーに伝達されます。 新しい機能をサポートするための関連情報を伝達するために、WidgetCustomizationRequestedArgsWidgetAnalyticsInfoReportedArgsWidgetErrorInfoReportedArgs の各クラスが使用されます。

XAML Islands が試験段階ではなくなった

XAML Islands と基になる ContentIslands プラットフォームが試験段階ではなくなりました。

  • 現在、XAML Islands は C++ アプリでの使用のためにのみテストされます。 このリリースには、WPF または WinForms で使用するための便利なラッパー要素は含まれていません。
  • DesktopWindowXamlSource とそれに関連する型が XAML Islands の Microsoft.UI.Xaml.Hosting 名前空間に追加されました。 要素の基になる Island 情報にアクセスしやすくするために XamlRoot.ContentIslandEnvironment が追加されました。
  • XAML Islands の基になるサポートとして、またはこの ContentIslands 機能を XAML なしで使用するために、Microsoft.UI.Content 名前空間と Microsoft.UI.Input 名前空間に多くの新しい型が導入されました。
  • Island のシナリオのために、Microsoft.UI.Input.DragDrop 名前空間に新しい DragDropManager (および関連する型) が追加されました。

ItemsView

ItemsView という名前の新しいリスト コントロールと、対応する具象クラス ItemContainer を導入しています。 ItemContainer は、選択状態とビジュアルが組み込まれた軽量のコンテナーです。これは、目的のコンテンツを容易にラップでき、コレクション コントロールのシナリオに ItemsView と共に使用できます。

  • 新しい ItemsView コントロールは、データ コレクションを表示します。 ItemsViewListView および GridView コントロールに似ていますが、ItemsRepeaterScrollViewItemContainerItemCollectionTransitionProvider の各コンポーネントを使用して構築されます。 これは、カスタム Layout または ItemCollectionTransitionProvider 実装をプラグインするための固有の機能を提供します。 もう 1 つの主な利点として、項目の選択を保持しながら、その場でレイアウトを切り替える機能があります。 内側の ScrollView コントロールもまた、プログラムによるスクロール中にアニメーションを制御する機能などの、ListView/GridViewScrollViewer コントロールでは使用できない機能を提供します。
    • ItemsRepeater 上の新しい ItemTransitionProvider プロパティ (および新しい ItemsView コントロール) を使用すると、そのコントロール上の切り替えアニメーションを制御する ItemCollectionTransitionProvider オブジェクトを指定できます。 CreateDefaultItemTransitionProvider メソッドも Layout に追加されました。これにより、レイアウト オブジェクトは、ユーザーが ItemsView コントロールで明示的に提供しない場合、それに付随するフォールバック切り替えを提供できるようになります。
    • 項目のレイアウト方向 (存在する場合) がソース コレクション内のそのインデックスに基づいている場合の Layout 上の新しい IndexBasedLayoutOrientation プロパティ。 既定値は IndexBasedLayoutOrientation.None です。 カスタム レイアウトは、新しい (保護された) SetIndexBasedLayoutOrientation メソッドを呼び出してこのプロパティを設定します。
    • VirtualizingLayoutContext 上の新しい VisibleRect プロパティは、Layout に関連付けられた FrameworkElement 内の表示されているビューポートの四角形を取得します。 保護された仮想 VirtualizingLayoutContext.VisibleRectCore メソッドは、VisibleRect プロパティから返される値を指定するようにオーバーライドできます。
  • 新しい LinedFlowLayout クラスは通常、ItemsView コレクション コントロールの項目をレイアウトするために使用されます。 これは、画像のコレクションを表示するために特に役立ちます。 これは、等しい高さのラインで左から右に、次に上から下にレイアウトすることによって行われます。 これらの画像によって水平線が塗りつぶされた後、次のラインに折り返されます。 画像は、ラインに収まるように、左端と右端でトリミングされる可能性があります。 また、拡大モードが使用されているとき、ラインを塗りつぶすために水平方向に拡張され、上端と下端でトリミングされる可能性もあります。

WinAppSDK 全体にまたがる新機能

  • UWP の AccessibilitySettings クラスと同様に、Win32 WinRT アプリでシステムのハイ コントラスト設定がいつ変更されたかを検出できるようにする新しい ThemeSettings クラス。 詳細については、GitHub 上の ThemeSettings API の仕様を参照してください。
  • AccessKeyManager.EnterDisplayMode は、指定されたルートの現在のフォーカスされた要素のアクセス キーを表示するための新しいメソッドです。 アクセス キーは、コマンドを呼び出すためにキーのヒントを表示しているとき (ペイントで Alt キーを押して、どのキーがどのコントロールに対応しているかを表示する場合など) に "表示モード" になります。 このメソッドを使用すると、プログラムで表示モードに入ることができます。
  • Application.ResourceManagerRequested は、既定の ResourceManager が機能しないシナリオで、リソース URI を解決するための別の IResourceManager を指定するメカニズムを提供します。 詳細については、GitHub 上の Application.ResourceManagerRequested API の仕様を参照してください。
  • WebView2 SDK のバージョンが 1661.34 から 1823.32 に更新されました。
  • Popup/FlyoutBase.IsConstrainedToRootBounds = false がサポートされるようになったため、ポップアップは親ウィンドウの境界外に拡張できます。 これらの制約なしのポップアップでのアクリルの使用をサポートするために、SystemBackdrop プロパティがこれらの型に追加されました。 メニューは、既定ではこれを使用してアクリルを使用します。
  • オブジェクトまたはスレッドのシャットダウン中の処理を改善するために、ClosedFrameworkClosedIsClosedDesktopAcrylicControllerMicaController に追加されました。
  • DesktopAcrylicController.Kind が、いくつかの標準的なアクリルの外観から選択するように設定できるようになりました。
  • DispatcherQueue には、より適切に整理されたシャットダウンを容易にするため、また Islands を使用するアプリが標準のサポートされているイベント ループを簡単に実行するための新しいイベントとヘルパーがいくつか含まれています。
  • Microsoft.UI.Input 名前空間内の InputNonClientPointerSource は、カスタム タイトル バーのシナリオでクライアント以外の領域を定義するために使用できます。 これらの領域でのホバー イベントやクリック イベントなどの対応するイベント用のコードを登録できます。
  • AppWindow には、DispatcherQueue を取得して関連付けるための新しいヘルパーがいくつか含まれています。
  • 新しい TreeView.SelectionChanged イベントを使用すると、開発者は、ユーザーまたは分離コードが TreeView コントロール内の選択された一連のノードを変更したときに応答できます。
  • 新しい ScrollView コントロールは、ScrollViewer に代わる新しい代替手段を提供します。 この新しいコントロールは、動作や API が既存の ScrollViewer コントロールと高度に整合されていますが、InteractionTracker に基づいているため、アニメーション駆動型のビュー変更などの新機能を備え、また ItemsRepeater のすべての機能を保証するようにも設計されています。 詳細については、より柔軟な ScrollViewer · イシュー #108 · microsoft/microsoft-ui-xaml (github.com) を参照してください。 さまざまな新しい型 (ScrollPresenter を含む) が ScrollView モデル全体に含まれています。
  • 新しい AnnotatedScrollBar コントロールは、多数の項目間を簡単に移動する方法を提供することによって、通常のスクロール バーの機能を拡張します。 これは、マーカーとして機能するラベルが付いたクリック可能なレールを使用して実現されます。 また、クリック可能なレールの上にマウス ポインターを置くとツールヒントが表示されるため、スクロール可能なコンテンツのよりきめ細かな理解も可能になります。

既知の問題

バグ修正

  • Microsoft.Windows.AppLifecycle.AppInstance.Restart("") API を呼び出すと、非パッケージ アプリがクラッシュしていた問題を修正しました。 詳細については、GitHub イシュー #2792 を参照してください。
  • 1.4-experimental1 で導入されたインストーラーのクラッシュの問題を修正しました。 詳細については、GitHub イシュー #3760 を参照してください。
  • TextBlock でテキスト取り消し線が正しく削除されなかった問題を修正しました。 詳細については、GitHub イシュー #1093 を参照してください。
  • TabFocusNavigation が [一度だけ] に設定されているパネルで Shift + Tab キーの移動が正しくない問題を修正しました。詳細については、GitHub イシュー #1363 を参照してください。
  • 名前付き XAML コントロールのプロパティで {x:Bind} が正しく機能しなくなった C++/WinRT での問題を修正しました。 詳細については、GitHub イシュー #2721 を参照してください。
  • DebugSettings.EnableFrameRateCounter = true を設定すると発生する WinUI デスクトップ アプリでのランタイム AccessViolation の問題を修正しました。 詳細については、GitHub イシュー #2835 を参照してください。
  • XamlTypeInfo.g.cpp に必要なヘッダーが含まれていなかった問題を修正しました。 詳細については、GitHub イシュー #4907 を参照してください。
  • マルチタッチとマウスの同時入力によって発生するクラッシュの問題を修正しました。 詳細については、GitHub イシュー #7622 を参照してください。
  • マウス ポインターを置いたときの非アクティブなウィンドウのスクロールを無効にするシステム設定が有効な場合に、アクティブな WinUI 3 アプリ ウィンドウがスクロールできなくなっていた問題を修正しました。 詳細については、GitHub イシュー #8764 を参照してください。
  • MediaPlayerElement をサブクラス化しようとしているときのクラッシュを修正しました。
  • TreeView でのクラッシュとメモリ リークのいくつかの問題を修正しました。
  • RadioButtons でキーボードを使用して移動しているときに発生する可能性があったアプリのハングの問題を修正しました。
  • PipsPager でキーボードを使用して移動しているときのクラッシュを修正しました。
  • 設定アプリの [テキスト サイズ] アクセシビリティ設定でスケーリングするように WebView2 コンテンツを修正しました。
  • ディスプレイがオフのときにアニメーションが実行されていると発生する可能性があったクラッシュを修正しました。
  • 最初のレイアウトまたはレンダリングに最大 10% のオーバーヘッドが追加された 1.3 で導入されたパフォーマンスの問題を修正しました。