ニュース

Microsoft、「Windows App SDK 1.5」を公開 ~地図や「SelectorBar」などの新部品【16:05追記】

「Fluent Design」なデスクトップアプリのUIを設計できるアプリ開発キット

「Windows App SDK」のリリースノート

 米Microsoftは3月31日(日本時間)、「Windows App SDK 1.5」をリリースした。本バージョンでは「.NET 8」のフルサポート、新しいコントロールの追加などが行われている。

 「Windows App SDK」(旧称:Project Reunion)は、Windowsデスクトップアプリケーションをターゲットとしたアプリ開発キット。「WinUI 3」や「WebView2」などを含んでおり、開発プラットフォーム(C++/.NET、Win32、WinForms、WPF、UWP)を問わず「Fluent Design」に基づいたモダンなデスクトップアプリのUIを設計できる。OSの新機能を古いバージョンでも利用できるようにする後方互換性にも注力されており、新規のアプリ開発はもちろん、古いアプリのUIをモダナイズしたり、最新機能の一部だけを取り込んだりといった用途にも利用できる。

XAMLウィンドウが閉じられた場合の挙動の変更

 「Windows App SDK 1.4」と「Windows App SDK 1.5」では、「XAML Islands」ベースのアプリケーションで任意のスレッド上の最後のXAMLウィンドウが閉じられたときの挙動が変更されている。

 「Windows App SDK 1.4」では、スレッド上の最後のXAMLウィンドウが閉じられると常にXAMLランタイムはスレッドのイベントループを終了していた。「Windows App SDK 1.5」でも基本的な動作は一緒だが、「XAML Islands」(WindowXamlSource)を利用している場合は自動でスレッドのイベントループを終了しないようになった(この動作は「Application.DispatcherShutdownMode」プロパティでコントロールできる)。そのほかにも「XAML Islands」関連でいくつかの変更が加えられているので注意したい。

新しいコントロール

 「Windows App SDK 1.5」では、以下の2つのコントロールが追加された。

  • WinUIMaps:「WebView2」と「Azure Maps」で地図を表示。「Azure Maps」のキーが必要
  • SelectorBar:複数のデータビューを切り替えられるようにするコントロール。以前は「SegmentedControl」と呼ばれていた
「WebView2」と「Azure Maps」で地図を表示する「WinUIMaps」
複数のデータビューを切り替えられるようにする「SelectorBar」

 そのほかにも、「CommandBarFlyout」のビジュアルが更新され、プライマリコマンドの項目にテキストラベルが表示されるようになった。この新しいスタイルはプレビュー版「Windows 11」でもテストされている。

「CommandBarFlyout」でプライマリコマンドの項目にテキストラベルを表示

 一方で、タブ付きウィンドウや「WebView2」のドラッグ&ドロップ対応といった要素は実装が見送られたとのこと。次のバージョンに期待したい。

 「Windows App SDK」は「Visual Studio 2022」(推奨)または「Visual Studio 2019」に含まれており、.NETデスクトップ開発、C++によるデスクトップ開発、ユニバーサル Windows プラットフォーム開発の各ワークロードで利用できる。すでに利用している場合は、パッケージ管理システム「NuGet」でアップデートが可能だ。

[2024年3月13日16時5分編集部追記] 3月13日(日本時間)付で、「Windows App SDK」v1.5.1が公開された。ビルドや初期化に失敗する問題やクラッシュを引き起こす問題など重大な不具合修正が施されているという。