Windows アプリ SDK 1.4 のプレビュー チャネル リリース ノート

重要

プレビュー チャネルは、運用環境での使用ではサポートされていません。また、プレビュー リリースを使用するアプリを Microsoft Store に公開することはできません。

プレビュー チャネルには、開発の後期段階のプレビュー チャネル機能を備えた Windows アプリ SDK のリリースが含まれています。 プレビュー リリースには試験段階の機能と API は含まれていませんが、次の安定版リリースの前に破壊的変更が発生する可能性は残っています。

重要なリンク:

最新のプレビュー チャネル リリース ノート

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

バージョン 1.4 プレビュー 2 (1.4.0-preview2)

これは、バージョン 1.4 のプレビュー チャネルの最新リリースです。

既存の Windows App SDK 1.3 (安定チャネルから) アプリでは、Nuget パッケージを 1.4.0-preview2 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio でパッケージをインストールおよび管理する」「パッケージの更新」セクションを参照してください)。

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

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 (および関連する型) が追加されました。

アイテムビュー の更新

バージョン 1.4-preview1 で導入された新しい 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 全体からの新機能と更新

  • 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 コントロールは、多数の項目間を簡単に移動する方法を提供することによって、通常のスクロール バーの機能を拡張します。 これは、マーカーとして機能するラベルが付いたクリック可能なレールを使用して実現されます。 また、クリック可能なレールの上にマウス ポインターを置くとツールヒントが表示されるため、スクロール可能なコンテンツのよりきめ細かな理解も可能になります。

1.4.0-preview2 の新しい API

バージョン 1.4-preview2 には、以前の 1.4-preview1 リリースと比較して、次の新しい API が含まれています。

Microsoft.UI
 
    ClosableNotifierHandler
    IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops
 
    DesktopAcrylicController
        Closed
        FrameworkClosed
        IsClosed
        Kind
 
    DesktopAcrylicKind
    MicaController
        Closed
        FrameworkClosed
        IsClosed
Microsoft.UI.Content
 
    ContentCoordinateConverter
    ContentCoordinateRoundingMode
    ContentDeferral
    ContentEnvironmentSettingChangedEventArgs
    ContentEnvironmentStateChangedEventArgs
    ContentIsland
    ContentIslandAutomationProviderRequestedEventArgs
    ContentIslandEnvironment
    ContentIslandStateChangedEventArgs
    ContentLayoutDirection
    ContentSite
    ContentSiteEnvironment
    ContentSiteEnvironmentView
    ContentSiteRequestedStateChangedEventArgs
    ContentSiteView
    ContentSizePolicy
    DesktopChildSiteBridge
    DesktopSiteBridge
    IContentSiteBridge
Microsoft.UI.Dispatching
 
    DispatcherExitDeferral
    DispatcherQueue
        EnqueueEventLoopExit
        EnsureSystemDispatcherQueue
        FrameworkShutdownCompleted
        FrameworkShutdownStarting
        RunEventLoop
        RunEventLoop
 
    DispatcherQueueController
        ShutdownQueue
 
    DispatcherRunOptions
Microsoft.UI.Input
 
    CharacterReceivedEventArgs
    ContextMenuKeyEventArgs
    FocusChangedEventArgs
    InputActivationListener
        GetForIsland
 
    InputFocusChangedEventArgs
    InputFocusController
    InputKeyboardSource
        CharacterReceived
        ContextMenuKey
        GetCurrentKeyState
        GetForIsland
        GetKeyState
        KeyDown
        KeyUp
        SystemKeyDown
        SystemKeyUp
 
    InputNonClientPointerSource
    InputPointerSource
        GetForIsland
 
    InputPreTranslateKeyboardSource
    KeyEventArgs
    NonClientCaptionTappedEventArgs
    NonClientPointerEventArgs
    NonClientRegionKind
    NonClientRegionsChangedEventArgs
    PhysicalKeyStatus
    VirtualKeyStates
Microsoft.UI.Input.DragDrop
 
    DragDropManager
    DragDropModifiers
    DragInfo
    DragOperation
    DragUIContentMode
    DragUIOverride
    DropOperationTargetRequestedEventArgs
    IDropOperationTarget
Microsoft.UI.Windowing
 
    AppWindow
        AssociateWithDispatcherQueue
        Create
        DispatcherQueue
Microsoft.UI.Xaml
 
    XamlRoot
        ContentIslandEnvironment
Microsoft.UI.Xaml.Automation.Peers
 
    ItemsViewAutomationPeer
Microsoft.UI.Xaml.Controls
 
    AnnotatedScrollBar
    AnnotatedScrollBarDetailLabelRequestedEventArgs
    AnnotatedScrollBarLabel
    AnnotatedScrollBarScrollingEventArgs
    AnnotatedScrollBarScrollingEventKind
    IndexBasedLayoutOrientation
    ItemCollectionTransition
    ItemCollectionTransitionCompletedEventArgs
    ItemCollectionTransitionOperation
    ItemCollectionTransitionProgress
    ItemCollectionTransitionProvider
    ItemCollectionTransitionTriggers
    ItemsRepeater
        ItemTransitionProvider
        ItemTransitionProviderProperty
 
    ItemsView
    ItemsViewItemInvokedEventArgs
    ItemsViewSelectionChangedEventArgs
    ItemsViewSelectionMode
    Layout
        CreateDefaultItemTransitionProvider
        IndexBasedLayoutOrientation
        SetIndexBasedLayoutOrientation
 
    LinedFlowLayout
    LinedFlowLayoutItemCollectionTransitionProvider
    LinedFlowLayoutItemsInfoRequestedEventArgs
    LinedFlowLayoutItemsJustification
    LinedFlowLayoutItemsStretch
    ScrollingAnchorRequestedEventArgs
    ScrollingAnimationMode
    ScrollingBringingIntoViewEventArgs
    ScrollingChainMode
    ScrollingContentOrientation
    ScrollingInputKinds
    ScrollingInteractionState
    ScrollingRailMode
    ScrollingScrollAnimationStartingEventArgs
    ScrollingScrollBarVisibility
    ScrollingScrollCompletedEventArgs
    ScrollingScrollMode
    ScrollingScrollOptions
    ScrollingSnapPointsMode
    ScrollingZoomAnimationStartingEventArgs
    ScrollingZoomCompletedEventArgs
    ScrollingZoomMode
    ScrollingZoomOptions
    ScrollView
    TreeView
        SelectionChanged
 
    TreeViewSelectionChangedEventArgs
    VirtualizingLayoutContext
        VisibleRect
        VisibleRectCore
Microsoft.UI.Xaml.Controls.Primitives
 
    FlyoutBase
        SystemBackdrop
        SystemBackdropProperty
 
    IScrollController
    IScrollControllerPanningInfo
    Popup
        SystemBackdrop
        SystemBackdropProperty
 
    RepeatedScrollSnapPoint
    RepeatedZoomSnapPoint
    ScrollControllerAddScrollVelocityRequestedEventArgs
    ScrollControllerPanRequestedEventArgs
    ScrollControllerScrollByRequestedEventArgs
    ScrollControllerScrollToRequestedEventArgs
    ScrollPresenter
    ScrollSnapPoint
    ScrollSnapPointBase
    ScrollSnapPointsAlignment
    SnapPointBase
    ZoomSnapPoint
    ZoomSnapPointBase
Microsoft.UI.Xaml.Hosting
 
    DesktopWindowXamlSource
    DesktopWindowXamlSourceGotFocusEventArgs
    DesktopWindowXamlSourceTakeFocusRequestedEventArgs
    WindowsXamlManager
    XamlSourceFocusNavigationReason
    XamlSourceFocusNavigationRequest
    XamlSourceFocusNavigationResult

バージョン 1.4 プレビュー 1 (1.4.0-preview1)

これは、バージョン 1.4 のプレビュー チャネルの最新リリースです。

既存の Windows App SDK 1.3 (安定チャネルから) アプリでは、Nuget パッケージを 1.4.0-preview1 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio でパッケージをインストールおよび管理する」「パッケージの更新」セクションを参照してください)。

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

ウィジェットの更新

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

WinAppSDK 全体にまたがる新機能

  • UWP の AccessibilitySettings クラスと同様に、Win32 WinRT アプリでシステムのハイ コントラスト設定がいつ変更されたかを検出できるようにする新しい ThemeSettings クラス。 詳細については、GitHub 上の ThemeSettings API の仕様を参照してください。
  • ツールチップ、メニュー、その他のポップアップをメインウィンドウの境界外に拡張できるように、Popup/FlyoutBase.ShouldConstrainToRootBounds がサポートされるようになりました。 Preview 1 では、ポップアップ/ポップアップでのアクリルまたはその他の SystemBackdrops の使用はまだ完全にはサポートされていません。このための追加の API と実装は、次の 1.4 リリースに含まれる予定です。
  • AccessKeyManager.EnterDisplayMode は、指定されたルートの現在のフォーカスされた要素のアクセス キーを表示するための新しいメソッドです。 アクセス キーは、コマンドを呼び出すためにキーのヒントを表示しているとき (ペイントで Alt キーを押して、どのキーがどのコントロールに対応しているかを表示する場合など) に "表示モード" になります。 このメソッドを使用すると、プログラムで表示モードに入ることができます。
  • Application.ResourceManagerRequested は、既定の ResourceManager が機能しないシナリオで、リソース URI を解決するための別の IResourceManager を指定するメカニズムを提供します。 詳細については、GitHub 上の Application.ResourceManagerRequested API の仕様を参照してください。
  • ItemsView という名前の新しいリスト コントロールと、対応する具象クラス ItemContainer を導入しています。 ItemContainer は、選択状態とビジュアルが組み込まれた軽量のコンテナーです。これは、目的のコンテンツを容易にラップでき、コレクション コントロールのシナリオに ItemsView と共に使用できます。 ItemsView は Preview 1 ではまだ実験的とマークされていますが、次の 1.4 リリースに含まれる予定です。
  • WebView2 SDK のバージョンが 1661.34 から 1823.32 に更新されました。

1.4.0-preview1 の新しい API

バージョン 1.4-preview1 には、安定版 1.3 リリースと比較して、次の新しい API が含まれています。

Microsoft.UI.System
 
    ThemeSettings
Microsoft.UI.Xaml
 
    Application
        ResourceManagerRequested
 
    ResourceManagerRequestedEventArgs
Microsoft.UI.Xaml.Automation.Peers
 
    ItemContainerAutomationPeer
Microsoft.UI.Xaml.Controls
 
    ItemContainer
Microsoft.UI.Xaml.Controls.Primitives
 
    CommandBarFlyoutCommandBar
        SystemBackdrop
        SystemBackdropProperty
Microsoft.UI.Xaml.Input
 
    AccessKeyManager
        EnterDisplayMode
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        LaunchingExternalUriScheme
        MemoryUsageTargetLevel
 
    CoreWebView2File
    CoreWebView2LaunchingExternalUriSchemeEventArgs
    CoreWebView2MemoryUsageTargetLevel
    CoreWebView2PermissionKind
        WindowManagement
 
    CoreWebView2Profile
        CookieManager
        IsGeneralAutofillEnabled
        IsPasswordAutosaveEnabled
 
    CoreWebView2Settings
        IsReputationCheckingRequired
 
    CoreWebView2WebMessageReceivedEventArgs
        AdditionalObjects
Microsoft.Windows.Widgets.Providers
 
    IWidgetProvider2
    IWidgetProviderAnalytics
    IWidgetProviderErrors
    WidgetAnalyticsInfoReportedArgs
    WidgetCustomizationRequestedArgs
    WidgetErrorInfoReportedArgs