信頼性の高い運用ビルドから今後の機能への早期アクセスまで、開発ニーズに応じて 、安定チャネル、 プレビュー チャネル、 および試験段階 のチャネルを選択できます。 リリース チャネルの詳細を確認します。
更新されたランタイムと MSIX については、「 Windows App SDK のダウンロード」を参照してください。
バージョン 1.6.9 (1.6.250602001)
バグ修正
- ウィンドウを閉じるときに WindowChrome::SetTitleBar で発生する可能性があるクラッシュを修正しました。 詳細については、GitHub の問題 #9203 を参照してください。
バージョン 1.6.8 (1.6.250430001)
ApplicationData.MachinePath フォルダー作成のサポート
ApplicationData.MachineFolder は、Windows >=10.0.26100.0 (Ge) で使いやすくなりました。 Windows App SDK 1.6.8 がシステムに存在する場合、オプトイン サポートをマニフェストするパッケージがシステムに追加されると、Windows によってマシン フォルダーが作成されます。 詳細については、 ApplicationData の仕様を参照してください。
バグ修正
- 完了状態時に適切にキャプチャされるように PackageDeploymentManager テレメトリを修正しました。 詳細については、GitHub の問題 #5297 を参照してください。
- x86 アプリでペン入力を使用するときのクラッシュを修正しました。
- WinUI がスクロールの初期化を試みているときに、ウィンドウが既に破棄されている場合のクラッシュの可能性を修正しました。
- WindowsAppSDK-VersionInfo.h の WINDOWSAPPSDK_RELEASE_PATCH define と Microsoft::WindowsAppSDK::Release::P atch 値が常に 0 であるとは限らないよう修正しました。 定義はビルドの yymmdd 日付になり、Patch 値は mmdd 日付です。 この変更により、変数サイズやバージョン スキームを変更することなく、使用されているバージョンに関するランタイム情報が向上します。
バージョン 1.6.7 (1.6.250402001)
バグ修正
-
WindowsAppRuntimeInstall-<arch>.exeの障害シナリオのテレメトリを改善しました。 詳細については、GitHub の問題 #5291 を参照してください。 - 矢印キーを同時に使用するとポインター入力が機能しなくなる問題を修正しました。 詳細については、GitHub の問題 #10126 を参照してください。
- リモート デスクトップのアプリがポインター入力に応答しなくなる問題を修正しました。 詳細については、GitHub の問題 #10009 を参照してください。 これは、リモートデスクトップが切り替え時に自動的にキー入力を送信するため、ポインター入力と矢印キーの修正と同じ修正です。
- 閉じているウィンドウに対してウィンドウアクティブ化イベントが配信された場合に、フォーカスを復元しようとするとクラッシュする可能性がある問題を修正しました。
- WinUI バイナリに一部のリンカーの最適化がないために Windows App SDK 1.6 で導入されたパフォーマンスの低下を修正しました。
- 複数の WinUI ウィンドウ/アイランドを作成するときの小さなパフォーマンスの問題を修正しました。
- ツリーにない ProgressBar で
ProgressBar::SetProgressBarIndicatorWidthが呼び出された場合のクラッシュの可能性を修正しました。 -
CPopup::EnsureBridgeClosedが再入をトリガーすることによるクラッシュの可能性を修正しました。 - null 子コレクションを使用する
CUIElement::FlushPendingKeepVisibleOperationsが原因でポップアップを閉じるときにクラッシュする可能性がある問題を修正しました。 - バージョンの置き換えを保証するために
PackageDeploymentManager.EnsurePackage*Readyを修正しました。 詳細については、GitHub の問題 #5225 を参照してください。
バージョン 1.6.6 (1.6.250228001)
バグ修正
これは、1.6 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。- 子ウィンドウが親ウィンドウにWM_NCMOUSELEAVEを投稿すると、新しいマウス入力イベントをブロックするループが発生する問題を修正しました。
- WebView2 プロセスの失敗後に次の AppWindow.Changed イベントで発生するクラッシュを修正しました。
- アクセシビリティ ツールを使用してウィンドウを閉じるときにクラッシュする可能性がある問題を修正しました。
- テキスト ボックスのクリア ボタンの領域をクリックしてフォーカスを設定すると、テキスト ボックスがキー入力を受け入れられない問題を修正しました。 詳細については、GitHub の問題 #7703を参照してください。
-
ExtendsContentIntoTitleBar=true使用時にタイトル バーの [最小化] ボタンにツールヒントが表示されない問題を修正しました。 詳細については、GitHub の問題 #9149を参照してください。
このリリースには、次の新しい API が含まれています。
IsPlaceholderContent と WidgetInfo の新しい WidgetUpdateRequestOptions プロパティを使用すると、ウィジェット プロバイダーは、レンダリングされた場合にプレースホルダー コンテンツを表示することを示します。 たとえば、天気情報を表示するウィジェットは、ユーザーがまだ天気の場所を指定しておらず、ウィジェットがシアトルなどの既定の場所の気象情報を表示しているだけの場合は、IsPlaceholderContent を true に設定する必要があります。 ウィジェットがプレースホルダーとしてマークされている場合、特定のホストはウィジェットを非表示にするか、他のウィジェットに優先順位を付けることを決定できます。
Microsoft.Windows.Widgets.Providers
WidgetInfo
IsPlaceholderContent
WidgetUpdateRequestOptions
IsPlaceholderContent
バージョン 1.6.5 (1.6.250205002)
バグ修正
- いくつかのメモリ リークの問題を修正しました。バージョン 1.6.4 (1.6.250108002)
バグ修正
- 複数行テキスト ボックスのテキスト選択の強調表示に関する問題を修正しました。 詳細については、GitHub の問題 [#9965]( を参照してください。https://github.com/microsoft/microsoft-ui-xaml/issues/9965). - DDLM パッケージがインストールされないことがあり、パッケージ化されていないアプリの起動が妨げられる問題を修正しました。 詳細については、GitHub の問題 [#3855]( を参照してください。https://github.com/microsoft/WindowsAppSDK/issues/3855). - 一部のシナリオで、迂回で発生する可能性があるクラッシュを修正しました。 詳細については、GitHub の問題 [#4937]( を参照してください。https://github.com/microsoft/WindowsAppSDK/pull/4937). - CommandBar がウィンドウの下部にあるときに、CommandBar のメニューが正しく開かずにダウンする可能性がある別の問題を修正しました。 - 古いグラフィックス ハードウェアで実行しているときにクラッシュする可能性がある問題を修正しました。 - ウィンドウを閉じるときにポインター イベント処理でクラッシュする可能性がある問題を修正しました。 - `CUIAWindow::InitIds` が再入をトリガーすることで発生する可能性のあるクラッシュを修正しました。 - 'CompositionCapabilities.Changed' イベントを使用しているときに発生する可能性のあるクラッシュを修正しました。 - TextBox/RichEditBox で一部の Unicode 文字が四角形として表示される問題を修正しました。 - 'PackageDeploymentManager.EnsurePackage*Async()' の処理で、'options.RegisterNewerIfAvailable' の取り扱いを修正しました。 詳細については、GitHub の問題 [#4864]( を参照してください。https://github.com/microsoft/WindowsAppSDK/issues/4864).バージョン 1.6.3 (1.6.241114003)
バグ修正
これは、1.6 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。 - 'AppWindow.ExtendsContentIntoTitleBar' プロパティを読み取ると、カスタム タイトル バーのレンダリングがオンになる問題を修正しました。 詳細については、GitHub の問題 [#9988]( を参照してください。https://github.com/microsoft/microsoft-ui-xaml/issues/9988). - 'TextBox'/'RichEditBox' の破棄中にクラッシュする可能性がある問題を修正しました。 詳細については、GitHub の問題 [#9070]( を参照してください。https://github.com/microsoft/microsoft-ui-xaml/issues/9070). - 'PackageDeploymentManager.IsPackageReadyOrNewerAvailable()' が失敗する問題を修正しました。 詳細については、GitHub の問題 [#4817]( を参照してください。https://github.com/microsoft/WindowsAppSDK/issues/4817). - 'ScrollViewer' がリークする問題を修正しました。 - アプリがレンダリングを停止し、回復しないまれなシナリオの検出が追加されました。 - 'PackageDeploymentManager.RegisterPackageSetAsync()' で、PackageFamilyName による登録を省略可能にする必要がある場合に URI が必要になる問題を修正しました。 - アプリがインストールまたはアンインストールされない問題を修正しました。 詳細については、GitHub の問題 [#4881]( を参照してください。https://github.com/microsoft/WindowsAppSDK/issues/4881).このリリースには、ウィジェットのプロバイダーがウィジェットに Web コンテンツを組み込むことができる次の新しい API が含まれています。
Microsoft.Windows.Widgets.Providers
IWidgetManager2
IWidgetProviderMessage
IWidgetResourceProvider
WidgetManager
SendMessageToContent
WidgetMessageReceivedArgs
WidgetResourceRequest
WidgetResourceRequestedArgs
WidgetResourceResponse
バージョン 1.6.1 (1.6.240923002)
バグ修正
- FocusVisualKind.Reveal() を使用するときのクラッシュを修正しました。 詳細については、GitHub の問題 #9966 を参照してください。
- Bcp47Langs.dllからのノイズの多い C++ 例外を修正しました。 詳細については、GitHub の問題 #4691 を参照してください。 この修正により、
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverrideとの同期が削除されることに注意してください。Unloadedを表示した直後に追加のContentDialogイベントが発生する問題を修正しました。 詳細については、GitHub の問題 #8402 を参照してください。- 開くスペースがあった場合でも、CommandBar メニューが正しく開かなかった可能性がある問題を修正しました。
- トップレベル ウィンドウが右から左モードで実行されているときに、
InputNonClientPointerSourceリージョンへの入力が正しく処理されない問題を修正しました。- .NET 9 で使用される少し異なるフレームワーク名を処理するために、Windows SDK フレームワークのバージョンのコンパイル時チェックを修正しました。
バージョン 1.6
C++ プロジェクトの変更
C++ プロジェクトを 1.6 に更新する場合は、プロジェクト参照を
Microsoft.Web.WebView2パッケージに追加する必要があります。 Visual Studio で NuGet パッケージ マネージャーを使用して更新すると、この依存関係が追加されます。
C# プロジェクトの変更
1.6 では、Windows アプリ SDKマネージド アプリには Microsoft.Windows.SDK.NET.Ref
*.*.*.38以降が必要です。これは、 ファイルのcsprojを使用して指定できます。 例えば次が挙げられます。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion> <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion> <PropertyGroup> ...さらに、マネージド アプリWindows アプリ SDKMicrosoft.Windows.CsWinRT
2.1.1(またはそれ以降) に更新する必要があります。
注
次の .NET SDK サービス更新プログラムがリリースされると、これらの手動参照は不要になります。
ネイティブ AOT のサポート
![]()
.NET
PublishAotプロジェクト プロパティは、ネイティブの Ahead-Of-Time コンパイルでサポートされるようになりました。 ネイティブ AOT の詳細については、「 Native AOT のデプロイを参照してください。 AOT はトリミングのサポートに基づいて構築されているため、次のトリミング関連のガイダンスの多くは AOT にも適用されます。
PublishAotサポートとトリミングのサポートについては、前のセクションで説明した C# プロジェクトの変更に加えて、Microsoft.Windows.CsWinRT2.1.1(またはそれ以降) へのパッケージ参照も必要です。これにより、次の .NET SDK サービス更新プログラムが不要になったときに、そのパッケージからソース ジェネレーターを有効にすることができます。詳細については、 CsWinRT トリミング/AOT サポート ドキュメント および CsWinRT 2.1.1 リリース ノートを参照してください。
Windows アプリ SDKは F5 のデプロイ時に発行ターゲットを呼び出すので、これを
PublishAotファイルに追加して、NuGet の復元時にcsprojを有効にすることをお勧めします。<PublishAot>true</PublishAot>
AOT の問題の解決
このリリースでは、開発者は、トリミング (リフレクション ベースの
{Binding}ターゲットなど) を回避するために、すべての型が適切にルート化されていることを確認する責任を負います。 以降のリリースでは、C#/WinRT と XAML コンパイラの両方が強化され、可能な限りルート化を自動化し、開発者にリスクをトリミングするよう警告し、解決するメカニズムを提供します。部分クラス
C#/WinRT には、バージョン 2.1.1 での
PublishAotサポートも含まれています。 C#/WinRT を使用して AOT 発行のクラスを有効にするには、最初にpartialマークする必要があります。 これにより、C#/WinRT AOT ソース アナライザーで静的分析用のクラスを属性化できます。 この属性が必要なのは、クラス (メソッドを含む、トリミングのターゲット) のみです。安全でないコード エラー
CsWinRT ソース ジェネレーターは、
unsafeを利用するコードを生成する場合があります。 コンパイル中にこのようなエラーが発生した場合、または診断警告 (unsafe コードが許可されるのは "/unsafe を使用してコンパイルする場合のみ" を示す CS0227) が表示された場合は、EnableUnsafeBlocks を true に設定する必要があります。 詳細については、GitHub の問題 CsWinRT #1721 を参照してください。WebView2 はまだ AOT 互換ではありません
Microsoft.Web.WebView2パッケージ バージョン 1.0.2651.64 の WebView2 プロジェクションはまだ AOT 互換ではありません。 これは、プロジェクトで参照できるMicrosoft.Web.WebView2パッケージの今後のリリースで修正される予定です。反射フリー手法
AOT の互換性を有効にするには、リフレクション ベースの手法を静的に型指定されたシリアル化、AppContext.BaseDirectory、typeof() などに置き換える必要があります。詳細については、「 警告をトリミングする方法を参照してください。
ルーティングタイプ
{Binding}の完全なサポートが実装されるまで、型は次のようにトリミングから保持される場合があります。プロジェクト
Pが名前空間A内の型Tを持つアセンブリNを使用し、これが動的にのみ参照される (したがって通常はトリミングされる) 場合、Tは次のように保護されます。
P.csproj:<ItemGroup> <TrimmerRootDescriptor Include="ILLink.Descriptors.xml" /> </ItemGroup>
ILLink.Descriptors.xml:<?xml version="1.0" encoding="utf-8"?> <linker> <assembly fullname="A"> <type fullname="N.T" preserve="all" /> </assembly> </linker>完全なルート記述子 XML 式の構文については、 Root 記述子を参照してください。
注
AOT サポートをまだ採用していない依存関係パッケージでは、実行時の問題が発生する可能性があります。
分離された WebView2 のバージョン管理
Windows アプリ SDKは、Edge WebView2 SDK のハードコーディングされたバージョンを埋め込むのではなく、NuGet 参照として Edge WebView2 SDK を使用するようになりました。 新しいモデルを使用すると、アプリは、Windows アプリ SDKがビルドされたバージョンに限定されるのではなく、
Microsoft.Web.WebView2パッケージの新しいバージョンを選択できます。 新しいモデルでは、アプリが Edge WebView2 SDK も参照する NuGet パッケージを参照することもできます。 詳細については、GitHub の問題 #5689 を参照してください。
新しいパッケージ展開 API
パッケージ管理 API には、Is*ReadyOrNewerAvailable*()、EnsureReadyOptions.RegisterNewerIfAvailable、Is*Provisioned*()、IsPackageRegistrationPending()、いくつかのバグ修正など、いくつかの機能強化が用意されています。 詳細については、「 PackageManagement.md と Pull Request #4453 」を参照してください。
TabView タブのティアアウトの改善
![]()
TabViewでは、新しいCanTearOutTabsモードがサポートされています。タブをドラッグしたり、新しいウィンドウにドラッグしたりするためのエクスペリエンスが強化されています。 この新しいオプションを有効にすると、タブドラッグは、ドラッグ中に新しいウィンドウがすぐに作成される Edge と Chrome のタブドラッグエクスペリエンスとよく似ています。これにより、ユーザーはウィンドウを画面の端にドラッグして、ウィンドウを最大化したり、1 つのスムーズな動きでスナップしたりできます。 この実装ではドラッグ アンド ドロップ API も使用されないため、これらの API の制限の影響を受けません。 特に、タブの分離は、管理者として昇格して実行されているプロセスでサポートされています。
その他の重要な変更
- UWP からのギャップを埋める新しい
ColorHelper.ToDisplayName()API を追加しました。- 新しい
Microsoft.Windows.Globalization.ApplicationLanguagesクラスが追加されました。これには、特に新しいPrimaryLanguageOverride機能が含まれています。 詳細については、GitHub の問題 #4523 を参照してください。- unsealed
ItemsWrapGrid。 これは下位互換性のある変更である必要があります。PipsPagerは、最初の項目と最後の項目の間で折り返すことができる新しいモードをサポートします。
![]()
RatingControlは、いくつかのハードコーディングされたスタイル プロパティをテーマ リソースに移動することで、よりカスタマイズ可能になりました。 これにより、アプリはこれらの値をオーバーライドして RatingControl の外観をより適切にカスタマイズできます。![]()
- WinUI 3 は、従来の重み/ストレッチ/スタイル モデルではなく、フォント選択の文字体裁モデルに変更されました。 文字体裁モデルは、Segoe UI 変数を含む一部の新しいフォントに必要であり、強化されたフォント機能を有効にします。 選択のために重み/ストレッチ/スタイル モデルに依存する一部の古いフォントは、文字体裁モデルでは見つからない場合があります。
既知の問題
- デバッガーがすべての C++ 例外で中断するように設定されている場合は、BCP47 (Windows グローバリゼーション) コードの起動時にいくつかのノイズの多い例外で中断されます。 詳細については、GitHub の問題 #4691 を参照してください。
- Windows App SDK 1.6 パッケージを参照するコンポーネント ライブラリ パッケージは、参照先の WebView2 パッケージの内容を正しく取得しません。 詳細については、「 WebView2Feedback #4743を参照してください。 回避策は、必要に応じて、
Microsoft.Web.WebView2パッケージへの直接参照を追加することです。- ネイティブ AOT でコンパイルされたアプリでは、.NET ランタイムの GC スレッドの競合状態が原因で、ページ ナビゲーション後にハングする問題が発生することがあります。 詳細については、「 .NET の問題 #104582」を参照してください。
- 1.6.0 の最初のリリースでは、.NET SDK の今後のリリースで解決される予定の依存関係の 1 つに問題が発生しました。 Microsoft.Windows.SDK.NET 参照のバージョンでエラーが発生した場合は、エラー メッセージで指定されている .NET SDK のバージョンを明示的に参照する必要があります。 たとえば、エラーでバージョン 10.0.19041.38 が必要と表示された場合は、
.csprojファイルに次のコードを追加します。
<WindowsSdkPackageVersion>10.0.19041.38</WindowsSdkPackageVersion>。
バグの修正
- .xaml で
InfoBar.IsOpenを設定するときのクラッシュを修正しました。 詳細については、GitHub の問題 #8391 を参照してください。- マウスが
WebView2境界外に移動すると HTML 要素がポインター キャプチャを失う問題を修正しました。 詳細については、GitHub の問題 #8677 を参照してください。ShouldConstrainToRootBounds=falseでポップアップにドラッグ アンド ドロップできない問題を修正しました。 詳細については、GitHub の問題 #9276 を参照してください。ms-appx://が有効になっているとPublishSingleFile参照が機能しない問題を修正しました。 詳細については、GitHub の問題 #9468 を参照してください。- 一部のバイナリでデバッガー シンボルが正しく動作しない問題を修正しました。 詳細については、GitHub の問題 #4633 を参照してください。
NavigationViewのサブクラス化時にクラッシュする可能性がある問題を修正しました。- テーブルのサイズをスクロールまたは縮小すると、
RichEditBox内のテーブルの罫線が正しく消去されない問題を修正しました。MediaTransportControlsからのポップアップの背景が完全に透明になる問題を修正しました。- WebView2 へのドラッグが失敗したり、100% 以外の表示スケール ファクターで間違った場所にドロップしたり、システム テキストのスケーリングが有効になったりする問題を修正しました。
TextBox/RichEditBoxが、MaxLength制限に達して入力がブロックされた際にアクセシビリティツールに通知されない問題を修正しました。- カスタム タイトルバー シナリオの処理に関するいくつかの問題を修正しました。 詳細については、GitHub の問題 #7629、 #9670、 #9709 および #8431 を参照してください。
InfoBadgeアイコンが表示されない問題を修正しました。 詳細については、GitHub の問題 #8176 を参照してください。CommandBarFlyoutでアイコンが間違った位置に表示される場合がある問題を修正しました。 詳細については、GitHub の問題 #9409 を参照してください。- サブメニューを開いたり閉じたりするときのメニューのキーボード フォーカスに関する問題を修正しました。 詳細については、GitHub の問題 #9519 を参照してください。
- アイテムをリサイクルするときに正しくない
TreeView状態を使用するIsExpandedに関する問題を修正しました。 詳細については、GitHub の問題 #9549 を参照してください。ItemsRepeater.ItemTemplateで ElementName バインドを使用する場合の問題を修正しました。 詳細については、GitHub の問題 #9715 を参照してください。ItemsRepeaterの最初の項目の位置が正しくない場合がある問題を修正しました。 詳細については、GitHub の問題 #9743 を参照してください。InputNonClientPointerSource時に最小/最大/閉じるボタンへの入力が中断される問題を修正しました。 詳細については、GitHub の問題 #9749 を参照してください。- clang-cl で Microsoft.UI.Interop.h を使用するときのコンパイル エラーを修正しました。 詳細については、GitHub の問題 #9771 を参照してください。
CharacterReceivedイベントがComboBox/TextBoxで動作しない問題を修正しました。 詳細については、GitHub の問題 #9786 を参照してください。- 矢印キーとタブ キーで重複する
KeyUpイベントが発生する問題を修正しました。 詳細については、GitHub の問題 #9399 を参照してください。PowerManager.SystemSuspendStatusChangedを取得するためにSystemSuspendStatusイベントが使用できない問題を修正しました。 詳細については、GitHub の問題 #2833 を参照してください。- ウィンドウ内の唯一のコントロールである場合に、初期キーボード フォーカスが
WebView2に正しく与えられなかった問題を修正しました。ExtendsContentIntoTitleBar=trueを使用しているときに、[最小]、[最大]、[閉じる] ボタンがUI オートメーションに正しく表示されず、音声アクセスでそれらのボタンの番号が表示されない問題を修正しました。- 予期しない再入が原因でロック チェックでアプリがクラッシュする可能性がある問題を修正しました。
- ハイ コントラスト テーマに切り替えると、
Hyperlinkの色が正しく更新されない問題を修正しました。- バックグラウンド ウィンドウで
ListViewのコレクションを変更すると、そのウィンドウがフォアグラウンドに誤って移動してフォーカスを取得する可能性がある問題を修正しました。ItemsRepeater.StartBringIntoViewを呼び出すとアイテムが消えることがある問題を修正しました。Button内のScrollViewerをタッチしてドラッグすると、押された状態になる問題を修正しました。- 多くの新しい型とメンバーの情報が不足していた IntelliSense が更新されました。
ScrollViewerの空の領域をクリックすると、常にフォーカスがScrollViewerの最初のフォーカス可能なコントロールに移動し、そのコントロールをスクロールして表示される問題を修正しました。 詳細については、GitHub の問題 #597 を参照してください。Window.Activatedイベントが複数回発生することがある問題を修正しました。 詳細については、GitHub の問題 #7343 を参照してください。NavigationViewItem.IsSelectedプロパティをtrueに設定すると、展開時に子が表示されなくなる問題を修正しました。 詳細については、GitHub の問題 #7930 を参照してください。MediaPlayerElementがNoneまたはDropShadowエッジ効果でキャプションを正しく表示しない問題を修正しました。 詳細については、GitHub の問題 #7981 を参照してください。- ポップアップを表示するときに
Flyout.ShowModeプロパティが使用されない問題を修正しました。 詳細については、GitHub の問題 #7987 を参照してください。NumberBoxで丸めエラーが発生することがある問題を修正しました。 詳細については、GitHub の問題 #8780 を参照してください。- 古いバージョンの Windows App SDK に対してコンパイルされたライブラリを使用すると、型またはプロパティを見つけようとするエラーが発生する可能性がある問題を修正しました。 詳細については、GitHub の問題 #8810 を参照してください。
- ウィンドウを起動するときに初期キーボード フォーカスが設定されない問題を修正しました。 詳細については、GitHub の問題 #8816 を参照してください。
FlyoutShowMode.TransientWithDismissOnPointerMoveAwayが初めて表示された後に機能しない問題を修正しました。 詳細については、GitHub の問題 #8896 を参照してください。- 一部のコントロールで、
ForegroundプロパティとBackgroundプロパティが正しくバインドされない問題を修正しました。 詳細については、「GitHub issue #7070、 #9020、 #9029、 #9083 および #9102 を参照してください。ThemeResourceセッターで使用されているVisualStateManagerがテーマの変更時に更新されない問題を修正しました。 これは通常、フライアウトのコントロールに影響します。 詳細については、GitHub の問題 #9198 を参照してください。WebViewがキーフォーカスを失い、余分なぼかし/フォーカス イベントやその他の問題が発生する問題を修正しました。 詳細については、GitHub の問題 #9288 を参照してください。- デバッグ出力
NavigationViewバインド エラーが表示される可能性がある問題を修正しました。 詳細については、GitHub の問題 #9384 を参照してください。- 負のビューボックスを定義する SVG ファイルがレンダリングされなくなる問題を修正しました。 詳細については、GitHub の問題 #9415 を参照してください。
ItemsView.Layoutの向きを変更すると項目が削除される問題を修正しました。 詳細については、GitHub の問題 #9422 を参照してください。ScrollViewをスクロールすると多くのデバッグ出力が生成される問題を修正しました。 詳細については、GitHub の問題 #9434 を参照してください。MapContorl.InteractiveControlsVisibleが正常に動作しない問題を修正しました。 詳細については、GitHub の問題 #9486 を参照してください。MapControl.MapElementClickイベントが正しく発生しない問題を修正しました。 詳細については、GitHub の問題 #9487 を参照してください。- 弱参照を使用する前に x:Bind が null をチェックせず、クラッシュする可能性がある問題を修正しました。 詳細については、GitHub の問題 #9551 を参照してください。
TeachingTip.Targetプロパティを変更しても位置が正しく更新されない問題を修正しました。 詳細については、GitHub の問題 #9553 を参照してください。- WebView2 でドロップダウンが応答しない問題を修正しました。 詳細については、GitHub の問題 #9566 を参照してください。
GeometryGroup使用時のメモリ リークを修正しました。 詳細については、GitHub の問題 #9578 を参照してください。ItemRepeater内のScrollViewから非常に多くの項目をスクロールすると、レンダリング フレームが空白になる可能性がある問題を修正しました。 詳細については、GitHub の問題 #9643 を参照してください。SceneVisualが機能しない問題を修正しました。
新しい API
バージョン 1.6.0 には、安定した 1.5 リリースと比較して、次の新しい API が含まれています。
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Xaml XamlRoot CoordinateConverterMicrosoft.UI.Xaml.Automation.Peers ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgsMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatusMicrosoft.Windows.Storage ApplicationData ApplicationDataContainer ApplicationDataContract ApplicationDataCreateDisposition ApplicationDataLocality
バージョン 1.6 Preview 2 (1.6.0-preview2)
これは、バージョン 1.6 のプレビュー チャネルの最新リリースです。
既存の Windows App SDK 1.5 (安定したチャネルから) アプリでは、Nuget パッケージを 1.6.0-preview2 に更新できます (「NuGet パッケージ マネージャーを使用した Visual Studio でのパッケージのインストールと管理」の「パッケージの更新」セクションを参照)。
更新されたランタイムと MSIX については、「 Windows App SDK のダウンロード」を参照してください。
ネイティブ AOT のサポート
1.6-preview2 には、リリースされた Microsoft.Windows.CsWinRT バージョン 2.1.1 に更新し、ネイティブの Ahead-Of-Time コンパイルでのビルドをより信頼性の高いものにするための大幅な変更が含まれています。
Edge WebView2 SDK 統合の更新
このリリースでは、リリースされた 1.0.2651.64 バージョンの
Microsoft.Web.WebView2パッケージが参照されるようになりました。これは、1.6-preview1 で参照されているプレリリース バージョンで発生する問題を修正する必要があります。 1.6-preview1 で説明したように、アプリは必要に応じて、Microsoft.Web.WebView2パッケージの新しいバージョンを選択できるようになりました。
バグの修正
1.6-preview2 には、1.6-preview1 のリリース以降の次の新しい修正プログラムが含まれています。
- .xaml で
InfoBar.IsOpenを設定するときのクラッシュを修正しました。 詳細については、GitHub の問題 #8391 を参照してください。- マウスが
WebView2境界外に移動すると HTML 要素がポインター キャプチャを失う問題を修正しました。 詳細については、GitHub の問題 #8677 を参照してください。ShouldConstrainToRootBounds=falseでポップアップにドラッグ アンド ドロップできない問題を修正しました。 詳細については、GitHub の問題 #9276 を参照してください。ms-appx://が有効になっているとPublishSingleFile参照が機能しない問題を修正しました。 詳細については、GitHub の問題 #9468 を参照してください。- 一部のバイナリでデバッガー シンボルが正しく動作しない問題を修正しました。 詳細については、GitHub の問題 #4633 を参照してください。
/permissive-使用時のビルド中断を修正しました。 詳細については、GitHub の問題 #4643 を参照してください。- パラメーターの名前変更による 1.6-preview1 での API の破壊的変更をいくつか修正しました。 詳細については、GitHub の問題 #4645 を参照してください。
- 1.6-preview1 の一部のプロジェクト (特に
Windows.UI.Text型) で経験された型の競合によるビルド中断を修正しました。 詳細については、GitHub の問題 #4646 を参照してください。- 1.6-preview1 のコントロール ライブラリによるリソース参照に関する問題を修正しました。 詳細については、GitHub の問題 #4649 を参照してください。
NavigationViewのサブクラス化時にクラッシュする可能性がある問題を修正しました。- テーブルのサイズをスクロールまたは縮小すると、
RichEditBox内のテーブルの罫線が正しく消去されない問題を修正しました。MediaTransportControlsからのポップアップの背景が完全に透明になる問題を修正しました。- WebView2 へのドラッグが失敗したり、100% 以外の表示スケール ファクターで間違った場所にドロップしたり、システム テキストのスケーリングが有効になったりする問題を修正しました。
TextBox/RichEditBoxが、MaxLength制限に達して入力がブロックされた際にアクセシビリティツールに通知されない問題を修正しました。
バージョン 1.6 Preview 1 (1.6.0-preview1)
注
1.6-experimental1 でリリースした新しい TitleBar コントロールは、コミュニティのフィードバックを評価して応答する時間を増やすために、1.6 の非試験的ビルドではまだ使用できません。 私たちはここで多くの素晴らしい入力を受け取り、それに対処するために必要な時間を取ることを確認したいと思っています。
1.6-preview1 に必要な C# プロジェクトの変更
1.6-preview1 では、Windows App SDK マネージド アプリには Microsoft.Windows.SDK.NET.Ref
*.*.*.38が必要です。これは、 ファイル内のcsprojを使用して指定できます。 例えば次が挙げられます。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion> <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion> <PropertyGroup> ...さらに、マネージド アプリWindows アプリ SDKMicrosoft.Windows.CsWinRT
2.1.1(またはそれ以降) に更新する必要があります。
ネイティブ AOT のサポート
.NET
PublishAotプロジェクト プロパティは、ネイティブの Ahead-Of-Time コンパイルでサポートされるようになりました。 ネイティブ AOT の詳細については、「 Native AOT のデプロイを参照してください。 AOT はトリミングのサポートに基づいて構築されているため、前に 1.6-experimental1 リリースで説明したトリミング関連のガイダンスの多くも適用されます。 詳細については、 ネイティブ AOT のサポート を参照してください。前述のように、C# プロジェクトには Microsoft.Windows.CsWinRT 2.1.1 (またはそれ以降) へのパッケージ参照が必要です。このバージョンには、AOT セーフな
ICustomPropertyProvider実装が含まれています。 このサポートの文脈で使用される型は、WinRT.GeneratedBindableCustomProperty属性でマークされると同時に、partialとして作成される必要があります。
変更された Edge WebView2 SDK の統合
Windows アプリ SDKは、Edge WebView2 SDK のハードコーディングされたバージョンを埋め込むのではなく、NuGet 参照として Edge WebView2 SDK を使用するようになりました。 新しいモデルを使用すると、アプリは、Windows アプリ SDKがビルドされたバージョンに限定されるのではなく、
Microsoft.Web.WebView2パッケージの新しいバージョンを選択できます。 新しいモデルでは、アプリが Edge WebView2 SDK も参照する NuGet パッケージを参照することもできます。 詳細については、GitHub の問題 #5689 を参照してください。
新しいパッケージ展開 API
パッケージ管理 API には、Is*ReadyOrNewerAvailable*()、EnsureReadyOptions.RegisterNewerIfAvailable、Is*Provisioned*()、IsPackageRegistrationPending()、いくつかのバグ修正など、いくつかの機能強化が用意されています。 詳細については、「 PackageManagement.md と Pull Request #4453 」を参照してください。
TabView タブのティアアウトの改善
TabViewでは、新しいCanTearOutTabsモードがサポートされています。タブをドラッグしたり、新しいウィンドウにドラッグしたりするためのエクスペリエンスが強化されています。 この新しいオプションを有効にすると、タブドラッグは、ドラッグ中に新しいウィンドウがすぐに作成される Edge と Chrome のタブドラッグエクスペリエンスとよく似ています。これにより、ユーザーはウィンドウを画面の端にドラッグして、ウィンドウを最大化したり、1 つのスムーズな動きでスナップしたりできます。 この実装ではドラッグ アンド ドロップ API も使用されないため、これらの API の制限の影響を受けません。 特に、タブの分離は、管理者として昇格して実行されているプロセスでサポートされています。
その他の重要な変更
- 新しい
ColorHelper.ToDisplayName()API を追加し、UWP からのギャップを埋める。- 新しい
Microsoft.Windows.Globalization.ApplicationLanguagesクラスが追加されました。これには、特に新しいPrimaryLanguageOverride機能が含まれています。 詳細については、GitHub の問題 #4523 を参照してください。- unsealed
ItemsWrapGrid。 これは下位互換性のある変更である必要があります。PipsPagerでは、最初の項目とリスト 項目の間で折り返すことができる新しいモードがサポートされています。RatingControlは、いくつかのハードコーディングされたスタイル プロパティをテーマ リソースに移動することで、よりカスタマイズ可能になりました。 これにより、アプリはこれらの値をオーバーライドして RatingControl の外観をより適切にカスタマイズできます。
既知の問題
- デバッガーがすべての C++ 例外で中断するように設定されている場合、BCP47 (Windows グローバリゼーション) コードの起動時にノイズの多い例外のペアで中断されます。
バグの修正
- カスタム タイトルバー シナリオの処理に関するいくつかの問題を修正しました。 詳細については、GitHub の問題 #7629、 #9670、 #9709 および #8431 を参照してください。
InfoBadgeアイコンが表示されない問題を修正しました。 詳細については、GitHub の問題 #8176 を参照してください。CommandBarFlyoutでアイコンが間違った位置に表示される場合がある問題を修正しました。 詳細については、GitHub の問題 #9409 を参照してください。- サブメニューを開いたり閉じたりするときのメニューのキーボード フォーカスに関する問題を修正しました。 詳細については、GitHub の問題 #9519 を参照してください。
- アイテムをリサイクルするときに正しくない
TreeView状態を使用するIsExpandedに関する問題を修正しました。 詳細については、GitHub の問題 #9549 を参照してください。ItemsRepeater.ItemTemplateで ElementName バインドを使用する場合の問題を修正しました。 詳細については、GitHub の問題 #9715 を参照してください。ItemsRepeaterの最初の項目の位置が正しくない場合がある問題を修正しました。 詳細については、GitHub の問題 #9743 を参照してください。InputNonClientPointerSource時に最小/最大/閉じるボタンへの入力が中断される問題を修正しました。 詳細については、GitHub の問題 #9749 を参照してください。- clang-cl で Microsoft.UI.Interop.h を使用するときのコンパイル エラーを修正しました。 詳細については、GitHub の問題 #9771 を参照してください。
CharacterReceivedイベントがComboBox/TextBoxで動作しない問題を修正しました。 詳細については、GitHub の問題 #9786 を参照してください。- スケール ファクターが 100%とは異なるモニターで、
CanTearOutTabsのポインター入力動作が正しくない 1.6 実験用ビルドの問題を修正しました。 詳細については、GitHub の問題 #9791 を参照してください。- 1.6-experimental2 ビルドで、一部の言語翻訳で
ColorHelper.ToDisplayName()の文字エンコードの問題が発生する問題を修正しました。NumberBoxが正しい前景色と背景色を使用していない 1.6-experimental1 の問題を修正しました。 詳細については、GitHub の問題 #9714 を参照してください。- 矢印キーとタブ キーで重複する
KeyUpイベントが発生する問題を修正しました。 詳細については、GitHub の問題 #9399 を参照してください。PowerManager.SystemSuspendStatusChangedを取得するためにSystemSuspendStatusイベントが使用できない問題を修正しました。 詳細については、GitHub の問題 #2833 を参照してください。- ウィンドウ内の唯一のコントロールである場合に、初期キーボード フォーカスが
WebView2に正しく与えられなかった問題を修正しました。ExtendsContentIntoTitleBar=trueを使用しているときに、[最小]、[最大]、[閉じる] ボタンがUI オートメーションに正しく表示されず、音声アクセスでそれらのボタンの番号が表示されない問題を修正しました。- 予期しない再入が原因でロック チェックでアプリがクラッシュする可能性がある問題を修正しました。
- ハイ コントラスト テーマに切り替えると、
Hyperlinkの色が正しく更新されない問題を修正しました。- バックグラウンド ウィンドウで
ListViewのコレクションを変更すると、そのウィンドウがフォアグラウンドに誤って移動してフォーカスを取得する可能性がある問題を修正しました。- クラス ライブラリ プロジェクトの .xaml で
AcrylicBrush.TintLuminosityOpacityを設定すると、型変換エラーが発生してクラッシュする 1.6-experimental1 の問題を修正しました。ItemsRepeater.StartBringIntoViewを呼び出すとアイテムが消えることがある問題を修正しました。Button内のScrollViewerをタッチしてドラッグすると、押された状態になる問題を修正しました。- 多くの新しい型とメンバーの情報が不足していた IntelliSense が更新されました。
ScrollViewerの空の領域をクリックすると、常にフォーカスがScrollViewerの最初のフォーカス可能なコントロールに移動し、そのコントロールをスクロールして表示される問題を修正しました。 詳細については、GitHub の問題 #597 を参照してください。Window.Activatedイベントが複数回発生することがある問題を修正しました。 詳細については、GitHub の問題 #7343 を参照してください。NavigationViewItem.IsSelectedプロパティをtrueに設定すると、展開時に子が表示されなくなる問題を修正しました。 詳細については、GitHub の問題 #7930 を参照してください。MediaPlayerElementがNoneまたはDropShadowエッジ効果でキャプションを正しく表示しない問題を修正しました。 詳細については、GitHub の問題 #7981 を参照してください。- ポップアップを表示するときに
Flyout.ShowModeプロパティが使用されない問題を修正しました。 詳細については、GitHub の問題 #7987 を参照してください。NumberBoxで丸めエラーが発生することがある問題を修正しました。 詳細については、GitHub の問題 #8780 を参照してください。- 古いバージョンの Windows App SDK に対してコンパイルされたライブラリを使用すると、型またはプロパティを見つけようとするエラーが発生する可能性がある問題を修正しました。 詳細については、GitHub の問題 #8810 を参照してください。
- ウィンドウを起動するときに初期キーボード フォーカスが設定されない問題を修正しました。 詳細については、GitHub の問題 #8816 を参照してください。
FlyoutShowMode.TransientWithDismissOnPointerMoveAwayが初めて表示された後に機能しない問題を修正しました。 詳細については、GitHub の問題 #8896 を参照してください。- 一部のコントロールで、
ForegroundプロパティとBackgroundプロパティが正しくバインドされない問題を修正しました。 詳細については、「GitHub issue #7070、 #9020、 #9029、 #9083 および #9102 を参照してください。ThemeResourceセッターで使用されているVisualStateManagerがテーマの変更時に更新されない問題を修正しました。 これは通常、フライアウトのコントロールに影響します。 詳細については、GitHub の問題 #9198 を参照してください。WebViewがキーフォーカスを失い、余分なぼかし/フォーカス イベントやその他の問題が発生する問題を修正しました。 詳細については、GitHub の問題 #9288 を参照してください。- デバッグ出力
NavigationViewバインド エラーが表示される可能性がある問題を修正しました。 詳細については、GitHub の問題 #9384 を参照してください。- 負のビューボックスを定義する SVG ファイルがレンダリングされなくなる問題を修正しました。 詳細については、GitHub の問題 #9415 を参照してください。
ItemsView.Layoutの向きを変更すると項目が削除される問題を修正しました。 詳細については、GitHub の問題 #9422 を参照してください。ScrollViewをスクロールすると多くのデバッグ出力が生成される問題を修正しました。 詳細については、GitHub の問題 #9434 を参照してください。MapContorl.InteractiveControlsVisibleが正常に動作しない問題を修正しました。 詳細については、GitHub の問題 #9486 を参照してください。MapControl.MapElementClickイベントが正しく発生しない問題を修正しました。 詳細については、GitHub の問題 #9487 を参照してください。- 弱参照を使用する前に x:Bind が null をチェックせず、クラッシュする可能性がある問題を修正しました。 詳細については、GitHub の問題 #9551 を参照してください。
TeachingTip.Targetプロパティを変更しても位置が正しく更新されない問題を修正しました。 詳細については、GitHub の問題 #9553 を参照してください。- WebView2 でドロップダウンが応答しない問題を修正しました。 詳細については、GitHub の問題 #9566 を参照してください。
GeometryGroup使用時のメモリ リークを修正しました。 詳細については、GitHub の問題 #9578 を参照してください。ItemRepeater内のScrollViewから非常に多くの項目をスクロールすると、レンダリング フレームが空白になる可能性がある問題を修正しました。 詳細については、GitHub の問題 #9643 を参照してください。SceneVisualが機能しない問題を修正しました。
1.6.0-preview1 の新しい API
バージョン 1.6-preview1 には、安定した 1.5 リリースと比較して、次の新しい API が含まれています。
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Xaml XamlRoot CoordinateConverterMicrosoft.UI.Xaml.Automation.Peers ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgsMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatusMicrosoft.Windows.Storage ApplicationData ApplicationDataContainer ApplicationDataContract ApplicationDataCreateDisposition ApplicationDataLocality
バージョン 1.6 試験的 (1.6.0-experimental2)
注
Phi Silica と OCR API は、このリリースには含まれていません。 これらは、将来の 1.6 リリースで提供される予定です。
ネイティブ AOT サポートの更新プログラム
1.6-experimental1 では、XAML コンパイラは AOT/トリミングに安全ではないコードで
XamlTypeInfo.g.csを生成していました。 これは GitHub の問題 #9675 に関連していますが、その問題は完全には修正されません。
変更された Edge WebView2 SDK の統合
Windows アプリ SDKは、Edge WebView2 SDK のハードコーディングされたバージョンを埋め込むのではなく、NuGet 参照として Edge WebView2 SDK を使用するようになりました。 新しいモデルを使用すると、アプリは、Windows アプリ SDKがビルドされたバージョンに限定されるのではなく、
Microsoft.Web.WebView2パッケージの新しいバージョンを選択できます。 新しいモデルでは、アプリが Edge WebView2 SDK も参照する NuGet パッケージを参照することもできます。 詳細については、GitHub の問題 #5689 を参照してください。
新しいパッケージ展開 API
パッケージ管理 API には、Is*ReadyOrNewerAvailable*()、EnsureReadyOptions.RegisterNewerIfAvailable、Is*Provisioned*()、IsPackageRegistrationPending()、いくつかのバグ修正など、いくつかの機能強化が用意されています。 詳細については、「 PackageManagement.md と Pull Request #4453 」を参照してください。
その他の重要な変更
- 1.6-experimental2 以降では、最新の WinUI 3 ソースが microsoft-ui-xaml GitHub リポジトリのメイン ブランチに発行されます。これにより、そのリポジトリでのソース検索が有効になります。
- 新しい
ColorHelper.ToDisplayName()API を追加し、UWP からのギャップを埋める。
- 既知の問題: 一部の言語翻訳には文字エンコードの問題があります。 これは、次の 1.6 リリースで修正される予定です。
- 新しい
Microsoft.Windows.Globalization.ApplicationLanguagesクラスが追加されました。これには、特に新しいPrimaryLanguageOverride機能が含まれています。 詳細については、GitHub の問題 #4523 を参照してください。- 新しい拡張機能により、ウィジェット プロバイダーはウィジェットに Web コンテンツとウィジェットのお知らせを提供できます。
1.6-experimental2 用の新しい API
1.6-experimental2 には、次の新しい API が含まれています。 これらの API は試験段階ではありませんが、Windows App SDK の安定したリリース バージョンにはまだ含まれていません。
Microsoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapModeMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatus
その他の 1.6-experimental2 API
このリリースには、次の新しい実験用 API と変更された実験用 API が含まれています。
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Composition CompositionNotificationDeferralMicrosoft.UI.Composition.Experimental ExpCompositionVisualSurface ExpExpressionNotificationProperty IExpCompositionPropertyChanged IExpCompositionPropertyChangedListener IExpCompositor IExpVisualMicrosoft.UI.Content AutomationOptions ChildContentLink ContentAppWindowBridge ContentDisplayOrientations ContentExternalBackdropLink ContentExternalOutputLink ContentIsland Children Compositor Connected ConnectionInfo ConnectRemoteEndpoint Create Disconnected FindAllForCompositor FragmentRootAutomationProvider GetByVisual IsRemoteEndpointConnected NextSiblingAutomationProvider Offset ParentAutomationProvider PreviousSiblingAutomationProvider Root RotationAngleInDegrees ContentIslandEnvironment AutomationOption CurrentOrientation DisplayScale NativeOrientation ThemeChanged ContentSite Compositor Offset RotationAngleInDegrees SetContentNodeParent SetIsInputPassThrough SiteVisual TryGetAutomationProvider ContentSiteAutomationProviderRequestedEventArgs ContentSiteEnvironment CurrentOrientation DisplayScale NativeOrientation NotifyThemeChanged ContentSiteView Offset RotationAngleInDegrees CoreWindowSiteBridge CoreWindowTopLevelWindowBridge DesktopChildSiteBridge AcceptRemoteEndpoint ConnectionInfo IsRemoteEndpointConnected RemoteEndpointConnecting RemoteEndpointDisconnected RemoteEndpointRequestedStateChanged DesktopSiteBridge TryCreatePopupSiteBridge EndpointConnectionEventArgs EndpointRequestedStateChangedEventArgs IContentIslandEndpointConnectionPrivate IContentLink IContentNodeOwner IContentSiteBridge2 IContentSiteBridgeAutomation IContentSiteBridgeEndpointConnectionPrivate PopupWindowSiteBridge ProcessStarter ReadOnlyDesktopSiteBridge SystemVisualSiteBridgeMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputKeyboardSource GetForWindowId InputLayoutPolicy InputLightDismissAction GetForIsland InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging InputPointerActivationBehavior InputPointerSource ActivationBehavior DirectManipulationHitTest GetForVisual GetForWindowId RemoveForVisual TouchHitTesting TrySetDeviceKinds MoveSizeOperation ProximityEvaluation TouchHitTestingEventArgs WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Input.Experimental ExpInputSite ExpPointerPointMicrosoft.UI.Windowing AppWindow DefaultTitleBarShouldMatchAppModeTheme DisplayArea GetMetricsFromWindowIdMicrosoft.UI.Xaml XamlIsland XamlRoot CoordinateConverter TryGetContentIslandMicrosoft.UI.Xaml.Automation.Peers PagerControlAutomationPeer ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls ContentDialogPlacement UnconstrainedPopup ElementFactory FlowLayout FlowLayoutAnchorInfo FlowLayoutLineAlignment FlowLayoutState IApplicationViewSpanningRects IndexPath ISelfPlayingAnimatedVisual ItemContainer CanUserInvoke CanUserInvokeProperty CanUserSelect CanUserSelectProperty ItemInvoked MultiSelectMode MultiSelectModeProperty ItemContainerInteractionTrigger ItemContainerInvokedEventArgs ItemContainerMultiSelectMode ItemContainerUserInvokeMode ItemContainerUserSelectMode LayoutPanel NumberBox InputScope InputScopeProperty TextAlignment TextAlignmentProperty PagerControl PagerControlButtonVisibility PagerControlDisplayMode PagerControlSelectedIndexChangedEventArgs PagerControlTemplateSettings ProgressRing DeterminateSource DeterminateSourceProperty IndeterminateSource IndeterminateSourceProperty RecyclePool RecyclingElementFactory ScrollingViewChangingEventArgs ScrollView ViewChanging SelectionModel SelectionModelChildrenRequestedEventArgs SelectionModelSelectionChangedEventArgs SelectTemplateEventArgs StackLayout IsVirtualizationEnabled IsVirtualizationEnabledProperty StackLayoutState TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgs TitleBar TitleBarAutomationPeer TitleBarTemplateSettings UniformGridLayoutStateMicrosoft.UI.Xaml.Controls.Primitives ScrollPresenter ViewChangingMicrosoft.Windows.ApplicationModel.WindowsAppRuntime DeploymentManager Repair DeploymentStatus PackageRepairFailed ReleaseInfo RuntimeInfo VersionInfoContractMicrosoft.Windows.Widgets.Feeds.Providers FeedManager TryRemoveAnnouncementById IFeedManager3Microsoft.Windows.Widgets.Notifications WidgetAnnouncement WidgetAnnouncementInvokedArgsMicrosoft.Windows.Widgets.Providers IWidgetAnnouncementInvokedTarget IWidgetManager2 IWidgetManager3 IWidgetProviderMessage IWidgetResourceProvider WidgetManager SendMessageToContent TryRemoveAnnouncementById TryShowAnnouncement WidgetMessageReceivedArgs WidgetResourceRequest WidgetResourceRequestedArgs WidgetResourceResponse
既知の問題
- TabView タブの破棄の場合、スケール ファクターが 100% とは異なるモニターでは、 CanTearOutTabs のポインター入力動作が正しくありません。 これは、次の 1.6 リリースで修正される予定です。
バグの修正
NumberBoxが正しい前景色と背景色を使用していない 1.6-experimental1 の問題を修正しました。 詳細については、GitHub の問題 #9714 を参照してください。- 矢印キーとタブ キーで重複する
KeyUpイベントが発生する問題を修正しました。 詳細については、GitHub の問題 #9399 を参照してください。PowerManager.SystemSuspendStatusChangedを取得するためにSystemSuspendStatusイベントが使用できない問題を修正しました。 詳細については、GitHub の問題 #2833 を参照してください。- ウィンドウ内の唯一のコントロールである場合に、初期キーボード フォーカスが
WebView2に正しく与えられなかった問題を修正しました。ExtendsContentIntoTitleBar=trueを使用しているときに、[最小]、[最大]、[閉じる] ボタンがUI オートメーションに正しく表示されず、音声アクセスでそれらのボタンの番号が表示されない問題を修正しました。- 予期しない再入が原因でロック チェックでアプリがクラッシュする可能性がある問題を修正しました。
- 一部の要素が読み込み時に表示されないため、
TitleBarがアイコンとタイトルのみを表示する 1.6-experimental1 の問題を修正しました。- ハイ コントラスト テーマに切り替えると、
Hyperlinkの色が正しく更新されない問題を修正しました。- バックグラウンド ウィンドウで
ListViewのコレクションを変更すると、そのウィンドウがフォアグラウンドに誤って移動してフォーカスを取得する可能性がある問題を修正しました。- クラス ライブラリ プロジェクトの .xaml で
AcrylicBrush.TintLuminosityOpacityを設定すると、型変換エラーが発生してクラッシュする 1.6-experimental1 の問題を修正しました。ItemsRepeater.StartBringIntoViewを呼び出すとアイテムが消えることがある問題を修正しました。Button内のScrollViewerをタッチしてドラッグすると、押された状態になる問題を修正しました。- 多くの新しい型とメンバーの情報が不足していた IntelliSense が更新されました。
バージョン 1.6 試験的 (1.6.0-experimental1)
これは実験用チャネルの最新リリースです。
ダウンロードするには、Windows App SDK NuGet のバージョンを 1.6.240531000-experimental1に再ターゲットします。
1.6-experimental1 に必要な C# プロジェクトの変更
1.6-experimental1 では、Windows アプリ SDKマネージド アプリには Microsoft.Windows.SDK.NET.Ref
*.*.*.35-preview(またはそれ以降) が必要です。これは、 ファイルのcsprojを使用して指定できます。 例えば次が挙げられます。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion> <WindowsSdkPackageVersion>10.0.22621.35-preview</WindowsSdkPackageVersion> <PropertyGroup> ...さらに、C#/WinRT を使用Windows アプリ SDKマネージド アプリは、Microsoft.Windows.CsWinRT
2.1.0-prerelease.240602.1(またはそれ以降) に更新する必要があります。
ネイティブ AOT のサポート
注
Windows アプリ SDK 1.6.0 安定版の場合、次のガイダンスは廃止されています。 プロジェクトは、 PublishAot を無条件で true 設定する必要があります。
.NET PublishAot プロジェクト プロパティは、ネイティブの Ahead-Of-Time コンパイルでサポートされるようになりました。 詳細については、「 Native AOT Deployment」を参照してください。 AOT はトリミングのサポートに基づいて構築されているため、次のトリミング関連のガイダンスの多くは AOT にも適用されます。
PublishAotサポートするには、前のセクションで説明した C# プロジェクトの変更に加えて、そのパッケージのソース ジェネレーターを有効にするには、Microsoft.Windows.CsWinRT2.1.0-prerelease.240602.1 (またはそれ以降) へのパッケージ参照も必要です。
Windows アプリ SDKは F5 のデプロイ時に発行ターゲットを呼び出すので、これを PublishAot ファイルに追加して、NuGet の復元時にcsprojを有効にすることをお勧めします。
<PublishAot Condition="'$(ExcludeRestorePackageImports)'=='true'">true</PublishAot>
さらに、発行プロファイルまたはプロジェクトで、リリース構成を発行するときに PublishAot を条件付きで有効にすることをお勧めします。
<PublishAot Condition="'$(Configuration)'=='Release'">true</PublishAot>
AOT の問題の解決
このリリースでは、開発者は、トリミング (リフレクション ベースの {Binding} ターゲットなど) を回避するために、すべての型が適切にルート化されていることを確認する責任を負います。 以降のリリースでは、C#/WinRT と XAML コンパイラの両方が強化され、可能な限りルート化を自動化し、開発者にリスクをトリミングするよう警告し、解決するメカニズムを提供します。
部分クラス
C#/WinRT には、バージョン 2.1.0-prerelease.240602.1 での PublishAot サポートも含まれています。 C#/WinRT を使用して AOT 発行のクラスを有効にするには、最初に partialマークする必要があります。 これにより、C#/WinRT AOT ソース アナライザーで静的分析用のクラスを属性化できます。 この属性が必要なのは、クラス (メソッドを含む、トリミングのターゲット) のみです。
反射を防ぐ手法
AOT の互換性を有効にするには、リフレクション ベースの手法を静的に型指定されたシリアル化、AppContext.BaseDirectory、typeof() などに置き換える必要があります。詳細については、「 警告をトリミングする方法を参照してください。
ルーティングの種類
{Binding}の完全なサポートが実装されるまで、型はトリミングから保持される可能性があります。名前空間Pで型Aを持つアセンブリ Tを使用するプロジェクトN、動的に参照される (通常はトリミングされる) 場合は、Tを使用して保持できます。
P.csproj:
<ItemGroup>
<TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
</ItemGroup>
ILLink.Descriptors.xml:
<?xml version="1.0" encoding="utf-8"?>
<linker>
<assembly fullname="A">
<type fullname="N.T" preserve="all" />
</assembly>
</linker>
完全なルート記述子 XML 式の構文については、 Root 記述子を参照してください。
注
AOT サポートをまだ採用していない依存関係パッケージでは、実行時の問題が発生する可能性があります。
TabView タブのティアアウトの改善
TabViewでは、新しいCanTearOutTabsモードがサポートされています。タブをドラッグしたり、新しいウィンドウにドラッグしたりするためのエクスペリエンスが強化されています。 この新しいオプションを有効にすると、タブドラッグは Edge と Chrome のタブドラッグエクスペリエンスとよく似ています。ドラッグ中に新しいウィンドウがすぐに作成され、ユーザーは画面の端にドラッグしてウィンドウを最大化したり、1 つのスムーズな動きでウィンドウをスナップしたりできます。 この実装ではドラッグ アンド ドロップ API も使用されないため、これらの API の制限の影響を受けません。 特に、タブの分離は、管理者として昇格して実行されているプロセスでサポートされています。既知の問題: このリリースでは、スケール ファクターが 100% とは異なるモニターでは、
CanTearOutTabsのポインター入力動作が正しくありません。 これは、次の 1.6 リリースで修正される予定です。
新しい TitleBar コントロール
新しい
TitleBarコントロールを使用すると、次の機能を使用して、アプリ用の優れたカスタマイズ可能なタイトル バーを簡単に作成できます。
- 構成可能なアイコン、タイトル、サブタイトルのプロパティ
- 統合された戻るボタン
- 検索ボックスなどのカスタム コントロールを追加する機能
- ウィンドウの幅に基づく要素の自動非表示と表示
- アクティブまたは非アクティブなウィンドウの状態を表示するためのアフォーダンス
- 空の領域のドラッグ可能領域、テーマの応答性、既定のキャプション (最小/最大/閉じる) ボタン、組み込みのアクセシビリティ サポートなど、既定のタイトル バー機能のサポート
TitleBarコントロールは、タイトル バーのさまざまな組み合わせをサポートするように設計されているため、多くのカスタム コードを記述しなくても、必要なエクスペリエンスを柔軟に作成できます。 community ツールキットのタイトル バー プロトタイプからフィードバックを受け取り追加のフィードバックをお待ちしております。既知の問題: このリリースでは、一部の要素が読み込み時に表示されない問題のため、
TitleBarにはアイコンとタイトルのみが表示されます。 これを回避するには、次のコードを使用して、他の要素 (サブタイトル、ヘッダー、コンテンツ、フッター) を読み込みます。public MainWindow() { this.InitializeComponent(); this.ExtendsContentIntoTitleBar = true; this.SetTitleBar(MyTitleBar); MyTitleBar.Loaded += MyTitleBar_Loaded; } private void MyTitleBar_Loaded(object sender, RoutedEventArgs e) { // Parts get delay loaded. If you have the parts, make them visible. VisualStateManager.GoToState(MyTitleBar, "SubtitleTextVisible", false); VisualStateManager.GoToState(MyTitleBar, "HeaderVisible", false); VisualStateManager.GoToState(MyTitleBar, "ContentVisible", false); VisualStateManager.GoToState(MyTitleBar, "FooterVisible", false); // Run layout so we re-calculate the drag regions. MyTitleBar.InvalidateMeasure(); }この問題は、次の 1.6 リリースで修正される予定です。
その他の重要な変更
- unsealed
ItemsWrapGrid。 これは下位互換性のある変更である必要があります。PipsPagerでは、最初の項目とリスト 項目の間で折り返すことができる新しいモードがサポートされています。RatingControlは、いくつかのハードコーディングされたスタイル プロパティをテーマ リソースに移動することで、よりカスタマイズ可能になりました。 これにより、アプリはこれらの値をオーバーライドして RatingControl の外観をより適切にカスタマイズできます。
1.6-experimental1 用の新しい API
1.6-experimental1 には、次の新しい API が含まれています。 これらの API は試験段階ではありませんが、Windows App SDK の安定したリリース バージョンにはまだ含まれていません。
Microsoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode None Wrap
その他の 1.6-experimental1 API
このリリースには、次の新しい実験用 API と変更された実験用 API が含まれています。
Microsoft.UI.Content ChildContentLink ContentExternalOutputLink IsAboveContent ContentIsland Children Create FindAllForCompositor GetByVisual Offset RotationAngleInDegrees ContentSite Offset RotationAngleInDegrees ContentSiteView Offset RotationAngleInDegrees IContentLink IContentSiteBridge2 ReadOnlyDesktopSiteBridgeMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Windowing AppWindow DefaultTitleBarShouldMatchAppModeThemeMicrosoft.UI.Xaml XamlRoot CoordinateConverter TryGetContentIslandMicrosoft.UI.Xaml.Controls ScrollingViewChangingEventArgs ScrollView ViewChanging StackLayout IsVirtualizationEnabled IsVirtualizationEnabledProperty TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgs TitleBar TitleBarAutomationPeer TitleBarTemplateSettingsMicrosoft.UI.Xaml.Controls.Primitives ScrollPresenter ViewChanging
その他の既知の問題
Microsoft.UI.Content.ContentIslandsを使用し、ContentIsland.AutomationProviderRequested イベントを処理しない XAML 以外のアプリケーション (またはオートメーション プロバイダーとして nullptr を返す) は、音声アクセス、ナレーター、Accessibility Insights、Inspect.exe などのアクセシビリティまたは UI オートメーション ツールが有効になっている場合にクラッシュします。
バグの修正
このリリースには、次のバグ修正が含まれています。
ScrollViewerの空の領域をクリックすると、常にフォーカスがScrollViewerの最初のフォーカス可能なコントロールに移動し、そのコントロールをスクロールして表示される問題を修正しました。 詳細については、GitHub の問題 #597 を参照してください。Window.Activatedイベントが複数回発生することがある問題を修正しました。 詳細については、GitHub の問題 #7343 を参照してください。NavigationViewItem.IsSelectedプロパティをtrueに設定すると、展開時に子が表示されないようにする問題を修正しました。 詳細については、GitHub の問題 #7930 を参照してください。MediaPlayerElementがNoneまたはDropShadowエッジ効果でキャプションを正しく表示しない問題を修正しました。 詳細については、GitHub の問題 #7981 を参照してください。- ポップアップを表示するときに
Flyout.ShowModeプロパティが使用されない問題を修正しました。 詳細については、GitHub の問題 #7987 を参照してください。NumberBoxで丸めエラーが発生することがある問題を修正しました。 詳細については、GitHub の問題 #8780 を参照してください。- 古いバージョンの Windows App SDK に対してコンパイルされたライブラリを使用すると、型またはプロパティを見つけようとする問題が修正されました。 詳細については、GitHub の問題 #8810 を参照してください。
- ウィンドウを起動するときに初期キーボード フォーカスが設定されない問題を修正しました。 詳細については、GitHub の問題 #8816 を参照してください。
FlyoutShowMode.TransientWithDismissOnPointerMoveAwayが初めて表示された後に機能しない問題を修正しました。 詳細については、GitHub の問題 #8896 を参照してください。- 一部のコントロールで、
ForegroundプロパティとBackgroundプロパティが正しくバインドされない問題を修正しました。 詳細については、「GitHub issue #7070、 #9020、 #9029、 #9083 および #9102 を参照してください。ThemeResourceセッターで使用されているVisualStateManagerがテーマの変更時に更新されない問題を修正しました。 これは通常、フライアウトのコントロールに影響します。 詳細については、GitHub の問題 #9198 を参照してください。WebViewがキーフォーカスを失い、余分なぼかし/フォーカス イベントやその他の問題が発生する問題を修正しました。 詳細については、GitHub の問題 #9288 を参照してください。- デバッグ出力
NavigationViewバインド エラーが表示される問題を修正しました。 詳細については、GitHub の問題 #9384 を参照してください。- 負のビューボックスを定義する SVG ファイルがレンダリングされなくなる問題を修正しました。 詳細については、GitHub の問題 #9415 を参照してください。
ItemsView.Layoutの向きを変更すると項目が削除される問題を修正しました。 詳細については、GitHub の問題 #9422 を参照してください。ScrollViewをスクロールすると多くのデバッグ出力が生成される問題を修正しました。 詳細については、GitHub の問題 #9434 を参照してください。MapContorl.InteractiveControlsVisibleが正常に動作しない問題を修正しました。 詳細については、GitHub の問題 #9486 を参照してください。MapControl.MapElementClickイベントが正しく発生しない問題を修正しました。 詳細については、GitHub の問題 #9487 を参照してください。- 弱参照を使用する前に x:Bind が null をチェックせず、クラッシュする可能性がある問題を修正しました。 詳細については、GitHub の問題 #9551 を参照してください。
TeachingTip.Targetプロパティを変更しても位置が正しく更新されない問題を修正しました。 詳細については、GitHub の問題 #9553 を参照してください。- WebView2 でドロップダウンが応答しない問題を修正しました。 詳細については、GitHub の問題 #9566 を参照してください。
GeometryGroup使用時のメモリ リークを修正しました。 詳細については、GitHub の問題 #9578 を参照してください。ItemRepeaterのScrollViewから非常に多くの項目をスクロールすると、レンダリング フレームが空白になる問題を修正しました。 詳細については、GitHub の問題 #9643 を参照してください。SceneVisualが機能しない問題を修正しました。
Windows developer