次の方法で共有


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

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

重要なリンク:

安定版チャネル リリース ノートのアーカイブ:

Windows App SDK 用のダウンロード

Note

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

バージョン 1.5

バージョン 1.5.3 (1.5.240428000)

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

  • ItemsRepeater は時々、ウィンドウを前面に表示することがある問題を修正しました。
  • AcrylicBrush の透明度の状態が更新されたときのクラッシュの可能性を修正しました。
  • メイン ウィンドウよりも高さがある、または幅の広い ShouldConstrainToRootBounds="false" ポップアップ内にある場合に、ItemsRepeaterが十分な項目が生成しない問題を修正しました。
  • プロジェクト ファイルで TargetPlatformVersion が指定されていない場合の、ビルド時にエラー MSB4086 が発生する可能性がある問題を修正しました。 このエラーは、GitHub の問題 #9531 の一部として発生しました。

バージョン 1.5.2 (1.5.240404000)

これは、Windows アプリ SDK 1.5 リリースの重大なバグ修正とウィジェット フィード プロバイダー向け新機能を含んだ Windows アプリ SDK のサービス リリースです。

ウィジェット フィード プロバイダーの更新

  • フィード プロバイダーは、ウィジェット ダッシュボードでアナウンスを表示できるようになりました。
    • 新しい FeedManager.TryShowAnnouncement API を使用すると、フィード プロバイダーはウィジェット ダッシュボードにアナウンスを表示するよう要求できます。 アナウンスを表示するには、FeedAnnouncement オブジェクトを作成して FeedManager.TryShowAnnouncement API を呼び出します。
    • [アナウンスのフィード] では、FeedAnnouncement API を使用してカスタマイズできる独自のバッジがタスク バーに表示されます。
  • フィード プロバイダーは、ユーザーが操作するプロバイダーに関する分析レポートとエラー レポートの情報の受信をオプトインできるようになりました。 オプトインするには、プロバイダーにより IFeedProviderAnalytics インターフェイスと IFeedProviderErrors インターフェイスの一方または両方を実装します。

フィード プロバイダーの更新には、次の新しい API が含まれています。

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

バグ修正

  • プライマリ ディスプレイが 60 Hz で実行されていない場合に、正しい時刻に DispatcherTimer が起動しない問題を修正しました。
  • 100% 以外のスケール ファクターで実行すると、テキスト ボックス入力メソッド エディター (IME) ウィンドウが正しく配置されない問題を修正しました。 詳細については、GitHub の問題 #9382 を参照してください。
  • 別のアプリからドラッグ アンド ドロップ操作を開始すると、コピー/移動/リンクの正しいドロップ操作が許可されない問題を修正しました。
  • ListView の ItemsSource がリセットされ、すぐにフォーカスが当てられると発生する可能性のあるクラッシュを修正しました。
  • 継承されたスケール変換に ShouldConstrainToRootBounds="false" ポップアップが適用されない問題を修正しました。 詳細については、GitHub の問題 #9118#9433 を参照してください。
  • アニメーションが実行している状態でコンポジション オブジェクトが破棄された場合に発生する可能性があるクラッシュを修正しました。
  • NavigationView::RevokeNavigationViewItemRevokers でシャットダウン時に発生する可能性のあるクラッシュを修正しました。

バージョン 1.5.1 (1.5.240311000)

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

  • 「map.html」をコピーできないために自己完結型アプリのビルドに失敗する場合がある問題を修正しました。
  • 有効なトークンが拒否されることで MapControl が初期化に失敗する問題を修正しました。 詳細については、GitHub の問題 #9324 を参照してください。
  • 青い背景で MapControl が読み込まれる問題を修正しました。 詳細については、GitHub の問題 #9377 を参照してください。
  • NavigationViewItem のシェブロンをクリックしても、1 回のクリックで正しく展開または折りたたまれない問題を修正しました。 これが原因で、PaneDisplayMode="Top" モードでシェブロンをクリックするとメニューが空白として表示される問題も起きていました。 詳細については、GitHub の問題 #9423#9426 を参照してください。
  • タッチまたはペンで NavigationViewItem をタップすると、アイテムがそれ以降の入力に応答しなくなる問題を修正しました。 詳細については、GitHub の問題 #9429 を参照してください。
  • NavigationView.PaneFooter 領域内のアイテムをクリックするとクラッシュする問題を修正しました。 詳細については、GitHub の問題 #9396 を参照してください。
  • メニューのアイコンが間違った場所に表示される場合がある問題を修正しました。 詳細については、GitHub の問題 #9409 を参照してください。
  • ウィンドウから切り替えて戻るまで、アクリルがメニューに表示されない問題を修正しました。 詳細については、GitHub の問題 #9406 を参照してください。
  • TextBox/RichEditBox の初期化中に発生する可能性があるクラッシュを修正しました。 詳細については、GitHub の問題 #9216 を参照してください。
  • NavigationView が破棄時にスローされ、キャッチされるノイズの多い一部の例外を修正しました。
  • 間違った PointerCaptureLost メッセージが発生したことが原因で、「ピンチ操作によるズーム」 ジェスチャがパンまたはタップとして表示される場合がある問題を修正しました。

バージョン 1.5

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

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

更新されたランタイムと MSIX については、Windows App SDK 用のダウンロード ページを参照してください。

XAML Islands ランタイムおよびシャットダウンの更新

WinAppSDK 1.4とWinAppSDK 1.5では、XAML Islandsベースのアプリケーションで、任意のスレッド上の最後のXAMLウィンドウが閉じられた場合の動作に違いがあります。

  • WinAppSDK 1.4では、スレッド上の最後のXAMLウィンドウが閉じられると、常にXAMLランタイムはスレッドのイベントループを終了します。
  • WinAppSDK 1.5 の場合:
    • アプリが WinUI Desktop アプリの場合、既定の反応は WinAppSDK 1.4 と同じです。
    • デスクトップWindowXamlSource("XAML Islands")APIでXAMLを使用している場合、デフォルトの動作は、XAMLが自動的にスレッドのイベントループを終了しないようになりました。
    • 双方のモードで、Application.DispatcherShutdownMode プロパティを設定して、この反応を変更できます。

詳細については、使用可能であれば Application.DispatcherShutdownMode プロパティ用ドキュメンテーションを参照してください。 GitHub提案#8492.が完了しました。

WinAppSDK 1.4とWinAppSDK 1.5のXAML Islandsベースのアプリにおいて、XAMLランタイムのライフタイムには動作上の違いがあります。

  • WinAppSDK 1.4 では、特定のスレッド上のすべての WindowsXamlManager および DesktopWindowXamlSource オブジェクトが閉じられるかシャットダウンされるか、そのスレッドで実行されている DispatcherQueue がシャットダウンされると、XAML ランタイムはスレッド上でシャットダウンします。 ダウンします (この場合、XAML ランタイムはDispatcherQueue.FrameworkShutdownStarting段階でシャットダウンします)。
  • WinAppSDK 1.5 では、XAML ランタイムは、そのスレッド上で実行されている DispatcherQueue がシャットダウンされた場合にのみスレッド上でシャットダウンします (Xaml ランタイムは常に DispatcherQueue.FrameworkShutdownStarting ステージでシャットダウンされます)。

詳細については、使用可能であれば WindowsXamlManager クラス用ドキュメンテーションを参照してください。

WindowsXamlManager.InitializeForCurrentThread()には動作の違いがあります:

  • WinAppSDK 1.4 では、WindowsXamlManager.InitializeForCurrentThread()は呼び出しごとに WindowsXamlManager オブジェクトの一意のインスタンスを返します。
  • WinAppSDK 1.5 では、スレッド上に既存のインスタンスが存在する場合、WindowsXamlManager.InitializeForCurrentThread() は既存のインスタンスを返します。 Close/Dispose() は無視されるようになりました。

WinUI Maps コントロール

WinUIMapsコントロールが利用できるようになりました。 このコントロールは、WebView2 と Azure Maps を利用し、次の機能を提供します。

  • マップ ボタンまたはタッチによるパンとズーム。
  • マップのスタイルを、サテライト、地形、またはストリート ビューに変更。
  • 開発者がカスタマイズ可能なアイコンを含む対話可能なピンをプログラムでマップに追加。
  • 初期読み込みがマップに基づく箇所における開発者によるカスタマイズ。
  • パン、ズーム、マップ スタイルのボタンの非表示または表示に対する開発者によるコントロール。

WinUI 3 Maps コントロール

Note

Maps コントロールを使用するには、Azure Maps キーが必要です。 キーを作成するには、Web アプリ作成用 Azure Maps ドキュメンテーション ページを参照してください。

Maps コントロールは全く新しい機能であり、今後の方向性の評価のため皆様のフィードバックをお待ちしております。

新しい SelectorBar コントロール

バージョン 1.5 では、ユーザーが複数のデータ ビューを切り替えられるようにする新しいコントロールSelectorBarを追加しました。 このコントロールは、1.5 ロードマップでは以前は「SegmentedControl」と呼ばれていました。

WinUI 3 SelectorBar コントロール

CommandBarFlyout の基本コマンドのラベル

CommandBarFlyoutのビジュアルが更新され、Label プロパティが AppBarButton() に設定されている場合に、プライマリ コマンド領域の項目のテキスト ラベルが表示されるようになりました。 以前は、CommandBarFlyoutエリアの主なコマンドはアイコンのみを表示していましたが、使いやすさを向上させるためにアイコンとラベルの両方を表示できるようになりました。

WinUI 3 CommandBarFlyout ラベル

カスタム環境/オプションの WebView2 サポート

WinUI WebView2 コントロールは、カスタム CoreWebView2およびCoreWebView2Environmentを使用して基になる () オブジェクトをカスタマイズする機能を公開するようになりました。 これにより、アプリ作成者は、WebView2Runtime の読み込み元となる代替パスを指定したり、別の UserDataFolder の使用を選択したり、IsPrivateModeEnabled()ScriptLocaleなどのオプションを設定したりすることができます。

.NET 8のサポート

最近の 1.4 サービス リリースで .NET 8 のサポートを追加しましたが、プラットフォーム固有の RID の使用に対する警告は依然として残りました。 1.5 ではその作業が完了し、警告が表示されなくなりました。

デバッグとソースの可用性の向上

現在、microsoft-ui-xaml リポジトリ内のコードの Github ソース サーバー情報がパブリック シンボルに挿入され、デバッガーがソース コードを自動的にダウンロードできるようになりました。 また、デバッグ エクスペリエンスを向上させるために、WinAppSDK 全体のシンボルにその他の修正と改善も加えました。

レイアウトサイクルのデバッグ機能の改善

WinUI アプリでのレイアウト サイクルのデバッグは困難な場合があるため、1.5 ではDebugSettings オブジェクトで、レイアウト プロセスのログ記録とブレークポイントの改善を有効にするオプションが公開され、アプリでのレイアウト サイクルのデバッグと修正が容易になります

WinAppSDK における他の新機能

  • PublishSingleFile デプロイ モデルのサポートが追加されました。 PublishSingleFile について詳しくは、 単一ファイルのデプロイに関するドキュメンテーションをご覧ください。
  • スクリーン リーダーのサポート、テキスト スケーリングのサポート、その他のアクセシビリティ機能に改善が追加されました。
  • 優先順位の高い GitHub バグ バックログに基づいて、さまざまな安定性とパフォーマンスが向上しました。

新機能は個別にリリースされます

C# および C++ 用の WinAppSDK Visual Studio テンプレートの新しいバージョンが Visual Studio Marketplace を通じてリリースされており、1.5 のリリースから数週間後に表示されます。 新しいバージョンでは、テンプレートを WinAppSDK リリースとは独立してリリースできるようになり、顧客に更新情報を提供する際の柔軟性が大幅に向上しました。

以前に計画されていたその他の機能

1.5 では、ロードマップで発表した次の機能について進展がありましたが、完了していませんでした。 これらは 1.6 タイムフレームまで継続されます。

  • タブ付きウィンドウ
  • WebView2 のドラッグ アンド ドロップのサポート
  • テーブルビューとインクコントロールの調査

ダイナミックライティングは当面ロードマップから削除されました。

既知の問題

  • .xaml ファイルなどのリソースを含むライブラリを使用すると、実行時にそれらのリソースが見つからないことを示すエラー メッセージが表示されることがあります。 この場合、それらのリソースが確実に含まれるように、プロジェクト ファイルに <ShouldComputeInputPris>true</ShouldComputeInputPris>を挿入することが必要になる場合があります。
  • NavigationViewItemの山形をクリックしても、1 回のクリックで正しく展開または折りたたまれなくなりました。 ダブルクリックは引き続き機能し、NavigationViewItem の他の場所をクリックしても機能します。

バグ修正

  • StackPanel が折りたたまれたアイテムに間隔を適用する問題を修正しました。 詳細については、GitHub の問題 #916 を参照してください。
  • 別のアプリウィンドウを閉じた後にスクロールコントロールが機能しなくなる問題を修正しました。 詳細については、GitHub の問題 #9292 および #9355を参照してください。
  • 最初のフレームがレンダリングされる前に DebugSettings.EnableFrameRateCounter 正しい EF に設定するとクラッシュする問題を修正しました。 詳細については、GitHub イシュー #2835 を参照してください。
  • 一部のヘッダーに必要な依存関係が含まれていない場合の C++ の潜在的なコンパイル エラーを修正しました。 #include 順序の変更は、アプリが 2023 より古いバージョンの C++/WinRT を使用している場合に IInspectable のコンパイル エラーが発生する可能性があるなど、一部のアプリに影響を与える可能性があることに注意してください。 詳細については、GitHub の問題 #9014 を参照してください。
  • ElementName バインディングが ItemsRepeaterDataTemplate 内で機能しない問題を修正しました。 詳細については、GitHub の問題 #560 を参照してください。
  • アプリ内ツールバーが有効になっている Visual Studio でアプリを実行するとクラッシュする問題を修正しました。 修正を完全に入手するには、Visual Studio 17.8 Preview 2 以降が必要です。 詳細については、GitHub の問題 #8806 を参照してください。
  • 高速スクロール時に AnnotatedScrollbar がクラッシュすることがある問題を修正しました。
  • メニューテキストが時々切り詰められる問題を修正しました。
  • TeachingTip が適切な対象を受け取らない問題を修正しました。 詳細については、GitHub の問題 #3257 を参照してください。
  • TeachingTipTailVisibility を、起動時に折りたたむに設定するとアプリケーションがクラッシュする問題を修正しました。 詳細については、GitHub の問題 #8731 を参照してください。
  • ライブラリ使用時の PRI ファイルの処理方法に関する問題を修正しました。 詳細については、GitHub の問題 #8857 を参照してください。
  • プロジェクション DLL が生成されない 1.5-experimental2 リリースの問題を修正しました。 詳細については、GitHub の問題 #4152 を参照してください。
  • RichEditBox のテキスト書式設定ポップアップ上の 3 点リーダーボタンがアクションの一覧を正しく表示しない問題を修正しました。 詳細については、GitHub の問題 #9140 を参照してください。
  • ListView がキーボード アクセラレーターを正しく扱わない問題を修正しました。 詳細については、GitHub の問題 #8063 を参照してください。
  • AccessKey を使ってウィンドウを閉じる際のアクセス違反問題を修正しました。 詳細については、GitHub の問題 #8648 を参照してください。
  • AccessKey() を使用してウィンドウを閉じるときのクラッシュを修正しました。 詳細については、GitHub の問題 #9002 を参照してください。
  • MenuBar にある MenuFlyoutItem のテキスト配置に影響する問題を修正しました。 詳細については、GitHub の問題 #8755 を参照してください。
  • 強調表示されたテキストが右クリック時に強調表示されたままとならない問題を修正しました。 詳細については、GitHub の問題 #1801 を参照してください。
  • 非アクティブなウィンドウを閉じるとアプリがクラッシュする問題を修正しました。 詳細については、GitHub の問題 #8913 を参照してください。
  • マウスの中央ボタンでスクロールし、直後に左クリックすると、アプリケーションがハングされることがある問題を修正しました。 詳細については、GitHub の問題 #9233 を参照してください。
  • カスタムの NavigationViewItem を使用していると起動時にアプリがクラッシュする問題を修正しました。 詳細については、GitHub の問題 #8814 を参照してください。
  • 省略記号ボタンで誤ってエラーが生成される NavigationView の問題を修正しました。 詳細については、GitHub の問題 #8380 を参照してください。
  • マルチウィンドウ アプリで SystemBackdrop が正しくレンダリングされない問題を修正しました。 詳細については、GitHub の問題 #8423 を参照してください。
  • ObservableCollection の先頭に挿入すると生じる重複の問題を修正しました。 詳細については、GitHub の問題 #8370 を参照してください。