Teilen über


Versionshinweise zum Vorschaukanal für das Windows App SDK 1.4

Wichtig

Der Vorschaukanal wird für die Verwendung in Produktionsumgebungen nicht unterstützt, und Apps, die die Vorschaureleases verwenden, können nicht im Microsoft Store veröffentlicht werden.

Der Vorschaukanal enthält Versionen des Windows App SDK mit Features des Vorschaukanals in späten Entwicklungsphasen. Vorschauversionen enthalten keine experimentellen Features und APIs, können bis zum nächsten stabilen Release jedoch wichtigen Änderungen unterliegen.

Wichtige Links:

Neuestes Vorschaukanal-Release:

Release des neuesten stabilen Kanals:

Version 1.4 Vorschau 2 (1.4.0-preview2)

Das ist das neueste Release des Vorschaukanals für Version 1.4.

In einer vorhandenen Windows App SDK 1.3-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.4.0-preview2 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

Die aktualisierten Runtime- und MSIX-Pakete finden Sie unter Neueste Windows App SDK-Downloads.

XAML-Inseln nicht mehr nur experimentell

XAML-Inseln und die zugrunde liegende ContentIslands-Plattform sind nicht mehr nur experimentell.

  • Derzeit werden XAML-Inseln nur für die Verwendung in C++-Apps getestet. Diese Version enthält keine praktischen Wrapperelemente für die Verwendung in WPF oder WinForms.
  • DesktopWindowXamlSource und verwandte Typen wurden im Microsoft.UI.Xaml.Hosting-Namespace für XAML-Inseln hinzugefügt. XamlRoot.ContentIslandEnvironment wurde hinzugefügt, um den Zugriff auf die zugrunde liegenden Inselinformationen für ein Element zu erleichtern.
  • Viele neue Typen wurden im Microsoft.UI.Content-Namespace und im Microsoft.UI.Input-Namespace als zugrunde liegende Unterstützung für XAML-Inseln oder für die Verwendung dieser ContentIslands-Funktionalität ohne XAML eingeführt.
  • Im Namespace „Microsoft.UI.Input.DragDrop“ für Inselszenarien wurde ein neuer DragDropManager (plus verwandter Typen) hinzugefügt.

Aktualisierungen von ItemsView

Die neue Klasse ItemsView, die in Version 1.4-preview1 eingeführt wurde, wurde mit neuen Eigenschaften und einer neuen unterstützenden Klasse in erheblichem Umfang aktualisiert.

  • Das neue Steuerelement ItemsView zeigt eine Datensammlung an. ItemsView ähnelt den Steuerelementen ListView und GridView, wird jedoch mit den Komponenten ItemsRepeater, ScrollView, ItemContainer und ItemCollectionTransitionProvider erstellt. Es bietet die einzigartige Möglichkeit, benutzerdefinierte Layout- oder ItemCollectionTransitionProvider-Implementierungen einzubinden. Ein weiterer wichtiger Vorteil ist die Möglichkeit, das Layout während der Verwendung zu wechseln und gleichzeitig die Auswahl von Elementen beizubehalten. Das innere ScrollView-Steuerelement bietet außerdem Funktionen, die in dem in ListView/GridView integrierten ScrollViewer-Steuerelement nicht verfügbar sind, wie z. B. die Möglichkeit, die Animation bei programmgesteuerten Bildläufen zu steuern.
    • Mit der neuen ItemTransitionProvider-Eigenschaft des ItemsRepeater (und dem neuen Steuerelement ItemsView) können Sie ein ItemCollectionTransitionProvider-Objekt zum Steuern von Übergangsanimationen für dieses Steuerelement angeben. Außerdem wurde eine CreateDefaultItemTransitionProvider-Methode zu Layout hinzugefügt, die es einem Layoutobjekt ermöglicht, einen integrierten Fallbackübergang bereitzustellen, wenn Sie für das ItemsView-Steuerelement nicht explizit einen angeben.
    • Eine neue IndexBasedLayoutOrientation-Eigenschaft für Layout, bei der die Layout-Ausrichtung von Objekten, falls vorhanden, auf ihrem Index in der Quellensammlung basiert. Der Standardwert ist IndexBasedLayoutOrientation.None. Benutzerdefinierte Layouts legen diese Eigenschaft durch Aufrufen der neuen (geschützten) SetIndexBasedLayoutOrientation-Methode fest.
    • Eine neue VisibleRect-Eigenschaft auf VirtualizingLayoutContext zum Abrufen des sichtbaren Viewport-Rechtecks innerhalb des FrameworkElement, das dem Layout zugeordnet ist. Die geschützte virtuelle Methode VirtualizingLayoutContext.VisibleRectCore kann überschrieben werden, um den Wert bereitzustellen, der von der Eigenschaft VisibleRect zurückgegeben wird.
  • Die neue Klasse LinedFlowLayout wird in der Regel verwendet, um die Elemente des Auflistungssteuerelements ItemsView zu gestalten. Sie ist besonders nützlich, eine Sammlung von Bildern anzuzeigen. Dabei werden die Elemente von links nach rechts und von oben nach unten in gleich hohen Zeilen angeordnet. Die Bilder füllen eine horizontale Zeile und gehen dann in die nächste Zeile über. Bilder können am linken und rechten Rand abgeschnitten werden, damit sie in eine Zeile passen. Sie können auch horizontal erweitert und am oberen und unteren Rand abgeschnitten werden, um eine Zeile zu füllen, wenn der Dehnungsmodus verwendet wird.

Neue Funktionen und Aktualisierungen aus dem gesamten WinAppSDK

  • Popup/FlyoutBase.IsConstrainedToRootBounds = false wird jetzt unterstützt, sodass ein Popup-/Flyout außerhalb der Grenzen des übergeordneten Fensters erweitert werden kann. Zu diesen Typen wurde eine SystemBackdrop-Eigenschaft hinzugefügt, um Acryl in diesen nicht eingeschränkten Popups zu unterstützen. Diese Funktion wird in Menüs standardmäßig verwendet, um Acryl zu verwenden.
  • Closed, FrameworkClosed und IsClosed wurden zu DesktopAcrylicController und MicaController hinzugefügt, um die Abwicklung des Herunterfahrens von Objekten/Threads zu verbessern.
  • DesktopAcrylicController.Kind kann jetzt so eingestellt werden, dass Sie zwischen einigen Standard-Acryl-Darstellungen wählen können.
  • DispatcherQueue verfügt über einige neue Ereignisse und Hilfsprogramme, um das Herunterfahren besser zu koordinieren und für Anwendungen, die Inseln verwenden, einfach eine standardmäßig unterstützte Ereignisschleife auszuführen.
  • Im Namespace „Microsoft.UI.Input“ kann InputNonClientPointerSource für benutzerdefinierte Titelleistenszenarien verwendet werden, um Bereiche außerhalb des Clientbereichs zu definieren. Code kann für entsprechende Ereignisse wie Zeigen und Klicken auf Ereignisse in diesen Regionen registriert werden.
  • AppWindow hat einige neue Hilfsprogramme, um eine DispatcherQueue zu erhalten und sich mit ihr zu verknüpfen.
  • Mit dem neuen TreeView.SelectionChanged-Ereignis können Entwickler*innen reagieren, wenn Benutzer*innen oder der Code-Behind die Menge der ausgewählten Knoten im TreeView-Steuerelement ändern.
  • Das neue ScrollView-Steuerelement bietet eine neue Alternative zu ScrollViewer. Dieses neue Steuerelement ist stark im Verhalten und der API an dem vorhandenen ScrollViewer-Steuerelement ausgerichtet. Es basiert jedoch auf InteractionTracker, hat neue Features wie animationsgesteuerte Ansichtsänderungen und ist auch darauf ausgelegt, die volle Funktionalität von ItemsRepeater sicherzustellen. Weitere Informationen finden Sie unter A more flexible ScrollViewer · Issue #108 · microsoft/microsoft-ui-xaml (github.com). Verschiedene neue Typen, einschließlich ScrollPresenter, sind Teil des Gesamtmodells von ScrollView.
  • Das neue AnnotatedScrollBar-Steuerelement erweitert die Funktionalität einer regulären Bildlaufleiste, indem es eine einfache Möglichkeit zum Navigieren durch eine große Sammlung von Elementen ermöglicht. Dies wird durch eine klickbare Leiste mit Bezeichnungen erreicht, die als Markierungen fungieren. Es ermöglicht auch ein genaueres Verständnis des bildlauffähigen Inhalts, indem eine QuickInfo angezeigt wird, wenn Sie auf die klickbare Leiste zeigen.

Neue APIs in 1.4.0-preview2

Version 1.4-preview2 enthält gegenüber dem vorherigen Release von 1.4-Preview1 die folgenden neuen APIs:

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

Version 1.4 Vorschau 1 (1.4.0-preview1)

Das ist das neueste Release des Vorschaukanals für Version 1.4.

In einer vorhandenen Windows App SDK 1.3-App (aus dem stabilen Kanal) können Sie Ihr NuGet-Paket auf 1.4.0-preview1 aktualisieren (weitere Informationen finden Sie im Abschnitt Aktualisieren eines Pakets in Installieren und Verwalten von Paketen in Visual Studio mit dem NuGet-Paket-Manager).

Die aktualisierten Runtime- und MSIX-Pakete finden Sie unter Neueste Windows App SDK-Downloads.

Widgets-Updates

Es wurden drei neue Schnittstellen für Widgetanbieter hinzugefügt: IWidgetProvider2, IWidgetProviderAnalytics und IWidgetProviderErrors. Mit IWidgetProvider2 können Anbieter auf die vom Benutzer aufgerufene Aktion Anpassen reagieren. Dies ist identisch mit der Funktionalität, die für eigene Widgets verfügbar ist. Mit den Schnittstellen IWidgetProviderAnalytics und IWidgetProviderErrors können Anbieter Telemetriedaten für ihre Widgets sammeln. Die jeweiligen Widgetanbieter erhalten so Analyse- und Fehlerereignisse von Widgets. Die Klassen WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs und WidgetErrorInfoReportedArgs werden verwendet, um relevante Informationen zur Unterstützung neuer Funktionen zu vermitteln.

Neue Funktionen aus dem gesamten WinAppSDK

  • Eine neue ThemeSettings-Klasse, mit der Win32 WinRT-Apps erkennen können, dass sich die Einstellung des Systems für hohen Kontrast geändert hat, ähnlich der UWP-Klasse AccessibilitySettings. Weitere Informationen finden Sie in der ThemeSettings-API-Spezifikation auf GitHub.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds wird jetzt unterstützt, damit QuickInfos, Menüs und andere Popups außerhalb der Grenzen des Hauptfensters erweitert werden können. Acrylic oder andere SystemBackdrops in einem Popup/Flyout werden von Vorschau 1 noch nicht vollständig unterstützt. Weitere APIs und Implementierungen hierfür werden im nächsten Release 1.4 enthalten sein.
  • AccessKeyManager.EnterDisplayMode ist eine neue Methode zum Anzeigen von Tastenkombinationen für das aktuelle fokussierte Element eines bereitgestellten Stamms. Tastenkombinationen befinden sich im „Anzeigemodus“, wenn eine Tastenkombination zum Aufrufen eines Befehls angezeigt wird, z. B. wenn Sie in Paint die Alt-Taste drücken, um anzuzeigen, welche Tasten welchen Steuerelementen entsprechen. Diese Methode ermöglicht die programmgesteuerte Anzeige des Anzeigemodus.
  • Application.ResourceManagerRequested bietet einen Mechanismus zur Bereitstellung eines anderen IResourceManager zur Auflösung von Ressourcen-URIs für Szenarien, in denen der Standard-ResourceManager nicht funktioniert. Weitere Informationen finden Sie in der Application.ResourceManagerRequested-API-Spezifikation auf GitHub.
  • Wir führen ein neues Listensteuerelement ein, das als ItemsView bezeichnet wird und eine entsprechende konkrete ItemContainer-Klasse. ItemContainer ist ein einfacher Container mit integrierten Auswahlzuständen und visuellen Elementen, der die gewünschten Inhalte problemlos umschließen und zusammen mit ItemsView für ein Szenario mit Sammlungssteuerung verwendet werden kann. ItemsView ist in Vorschau 1 weiterhin als experimentell gekennzeichnet, wird aber im nächsten Release 1.4 enthalten sein.
  • Die Version des WebView2 SDK wurde von 1661.34 auf 1823.32 aktualisiert.

Neue APIs in 1.4.0-preview1

Version 1.4-preview1 enthält gegenüber dem stabilen Release 1.3 die folgenden neuen APIs:

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