Partage via


Notes de publication du canal d'aperçu pour le SDK d'application Windows 1.4

Important

Le canal d'aperçu n'est pas pris en charge pour une utilisation dans des environnements de production, et les apps qui utilisent les versions d'aperçu ne peuvent pas être publiées sur le Microsoft Store.

La chaîne de prévisualisation comprend des versions du SDK d'application Windows avec des fonctionnalités de la chaîne de prévisualisation à des stades avancés de développement. Les versions d'évaluation n'incluent pas de fonctionnalités et d'API expérimentales, mais peuvent encore faire l'objet de modifications avant la prochaine version stable.

Liens importants :

Dernière version de la chaîne de prévisualisation :

Dernière version de la chaîne stable :

Version 1.4 Aperçu 2 (1.4.0-preview2)

Il s’agit de la dernière version de l’aperçu du canal pour la version 1.4.

Dans une application existante utilisant SDK d'application Windows 1.3 (à partir du canal stable), vous pouvez mettre à jour votre package Nuget vers 1.4.0-preview2 (consultez la section Mettre à jour un package dans Installer et gérer des packages dans Visual Studio à l'aide du gestionnaire de packages NuGet).

Pour obtenir le runtime et le MSIX mis à jour, consultez les derniers téléchargements du SDK d'application Windows.

XAML Islands n’est plus expérimental

XAML Islands et la plateforme ContentIslands sous-jacente ne sont plus expérimentaux.

  • Actuellement, XAML Islands est testé uniquement pour les applications C++. Cette version n’a aucun élément de wrapper pratique pouvant être utilisé dans WPF ou WinForms.
  • DesktopWindowXamlSource et les types associés ont été ajoutés dans l’espace de noms Microsoft.UI.Xaml.Hosting pour XAML Islands. XamlRoot.ContentIslandEnvironment a été ajouté pour vous aider à accéder aux informations Island sous-jacentes d’un élément.
  • De nombreux nouveaux types ont été introduits dans l’espace de noms Microsoft.UI.Content et l’espace de noms Microsoft.UI.Input pour la prise en charge sous-jacente de XAML Islands ou pour utiliser cette fonctionnalité ContentIslands sans XAML.
  • Un nouveau DragDropManager (plus les types associés) a été ajouté dans l’espace de noms Microsoft.UI.Input.DragDrop pour les scénarios Island.

Mises à jour ItemsView

La nouvelle ItemsView classe introduite dans la version 1.4-preview1 a été considérablement mise à jour avec de nouvelles propriétés et une nouvelle classe de prise en charge.

  • Le nouveau contrôle ItemsView affiche une collection de données. ItemsView est similaire aux contrôles ListView et GridView, mais est généré à partir des composants ItemsRepeater, ScrollView, ItemContainer et ItemCollectionTransitionProvider. Il offre la possibilité unique de se connecter à des implémentations de Layout ou ItemCollectionTransitionProvider personnalisées. Un autre avantage clé est la possibilité de changer la disposition à la volée tout en préservant la sélection des éléments. Le contrôle interne ScrollView offre également des fonctionnalités non disponibles dans le contrôle ScrollViewer de ListView/GridView, comme la possibilité de contrôler l’animation pendant les défilements programmatiques.
    • Une nouvelle propriété ItemTransitionProvider sur ItemsRepeater (et le nouveau contrôle ItemsView) vous permet de spécifier un objet ItemCollectionTransitionProvider pour contrôler les animations de transition sur ce contrôle. Une méthode CreateDefaultItemTransitionProvider a également été ajoutée à Layout, ce qui permet à un objet de disposition de fournir une transition de secours pour l’accompagner si vous n’en fournissez pas explicitement sur le contrôle ItemsView.
    • Nouvelle propriété IndexBasedLayoutOrientation sur Layout où l’orientation de la disposition, le cas échéant, des éléments est basée sur leur index dans la collection source. La valeur par défaut est IndexBasedLayoutOrientation.None. Les dispositions personnalisées définissent cette propriété en appelant la nouvelle méthode (protégée) SetIndexBasedLayoutOrientation.
    • Une nouvelle propriété VisibleRect sur VirtualizingLayoutContext obtient le rectangle visible de la fenêtre d’affichage dans le FrameworkElement associé à Layout. La méthode virtuelle VirtualizingLayoutContext.VisibleRectCore protégée peut être remplacée pour fournir la valeur que la propriété VisibleRect doit renvoyer.
  • La nouvelle classe LinedFlowLayout est généralement utilisée pour mettre en place les éléments du contrôle de collection ItemsView. Elle est particulièrement utile pour afficher une collection d’images. Elle le fait en les disposant de gauche à droite et de haut en bas, en lignes de hauteur égale. Les images remplissent une ligne horizontale, puis passent à la ligne suivante. Les images peuvent être rognées à gauche et à droite pour s’adapter à une ligne. Elles peuvent également être développées horizontalement, et rognées en haut et en bas pour remplir une ligne quand le mode d’étirement est utilisé.

Nouvelles fonctionnalités de WinAppSDK

  • Popup/FlyoutBase.IsConstrainedToRootBounds = false est désormais pris en charge, ce qui permet à une fenêtre contextuelle/un contrôle suspendu de s’étendre en dehors des limites de la fenêtre parente. Une propriété SystemBackdrop a été ajoutée à ces types pour prendre en charge l’acrylique dans ces fenêtres contextuelles non contraintes. Les menus par défaut utilisent cette option pour avoir l’acrylique.
  • Closed, FrameworkClosed et IsClosed ont été ajoutés à DesktopAcrylicController et MicaController pour améliorer la gestion pendant l’arrêt de l’objet/du thread.
  • DesktopAcrylicController.Kind peut maintenant être défini pour choisir des apparences acryliques standard.
  • DispatcherQueue a de nouveaux événements et applications auxiliaires pour permettre une meilleure organisation de l’arrêt et pour que les applications utilisant Islands puissent exécuter facilement une boucle d’événements prise en charge standard.
  • InputNonClientPointerSource dans l’espace de noms Microsoft.UI.Input peut être utilisé dans les scénarios de barre de titre personnalisé pour définir des régions de zone non cliente. Le code peut s’inscrire à des événements correspondants, comme les événements de pointage et de clic sur ces régions.
  • AppWindow a des nouvelles applications auxiliaires qu’il peut obtenir et associer à un DispatcherQueue.
  • Le nouvel événement TreeView.SelectionChanged permet aux développeurs de répondre quand l’utilisateur ou le code-behind change l’ensemble des nœuds sélectionnés dans le contrôle TreeView.
  • Le nouveau contrôle ScrollView offre une nouvelle alternative à ScrollViewer. Ce nouveau contrôle est hautement aligné en matière de comportement et d’API sur le contrôle existant ScrollViewer, mais est basé sur InteractionTracker, a de nouvelles fonctionnalités comme les changements de vue pilotés par l’animation, et est également conçu pour garantir une fonctionnalité complète de ItemsRepeater. Consultez Un ScrollViewer plus flexible · Problème n° 108 · microsoft/microsoft-ui-xaml (github.com) pour plus d’informations. Différents nouveaux types, y compris ScrollPresenter, font partie du modèle ScrollView général.
  • Le nouveau contrôle AnnotatedScrollBar étend les fonctionnalités d’une barre de défilement classique en fournissant un moyen simple de parcourir une grande collection d’éléments. Le résultat est obtenu en utilisant une barre cliquable avec des étiquettes qui servent de marqueurs. Il permet également une compréhension plus granulaire du contenu de défilement en affichant une info-bulle quand vous pointez sur la barre cliquable.

Nouvelles API dans la version 1.4.0-preview2

La version 1.4-preview2 inclut les nouvelles API suivantes par rapport à la version 1.4-preview1 précédente :

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 Aperçu 1 (1.4.0-preview1)

Il s’agit de la dernière version de l’aperçu du canal pour la version 1.4.

Dans une application existante utilisant SDK d'application Windows 1.3 (à partir du canal stable), vous pouvez mettre à jour votre package Nuget vers 1.4.0-preview1 (consultez la section Mettre à jour un package dans Installer et gérer des packages dans Visual Studio à l'aide du gestionnaire de packages NuGet).

Pour obtenir le runtime et le MSIX mis à jour, consultez les derniers téléchargements du SDK d'application Windows.

Mises à jour des widgets

Trois nouvelles interfaces ont été ajoutées pour les fournisseurs de widgets : IWidgetProvider2, IWidgetProviderAnalytics et IWidgetProviderErrors. IWidgetProvider2 permet aux fournisseurs de répondre à l’action Personnaliser appelée par l’utilisateur, comme pour les widgets internes. Les interfaces IWidgetProviderAnalytics et IWidgetProviderErrors sont utilisées par les fournisseurs afin de collecter des données de télémétrie pour leurs widgets ; les événements d’analyse et d’échec sur les widgets sont communiqués aux fournisseurs de widgets respectifs. Les classes WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgs et WidgetErrorInfoReportedArgs sont utilisées afin de communiquer des informations pertinentes pour prendre en charge les nouvelles fonctionnalités.

Nouvelles fonctionnalités de WinAppSDK

  • Nouvelle classe ThemeSettings qui permet aux applications WinRT Win32 de détecter quand le paramètre Contraste élevé du système a changé, comme la classe AccessibilitySettingsUWP. Consultez la Spécification de l’API ThemeSettings sur GitHub pour plus d’informations.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds est désormais pris en charge pour autoriser les info-bulles, les menus et d’autres fenêtres contextuelles à étendre en dehors des limites de la fenêtre principale. La préversion 1 ne prend pas encore entièrement en charge l’acrylique ou d’autres SystemBackdrops sur une fenêtre contextuelle/menu volant ; Des API et une implémentation supplémentaires seront incluses dans la prochaine version 1.4.
  • AccessKeyManager.EnterDisplayMode est une nouvelle méthode qui affiche les clés d’accès pour l’élément actuel d’une racine fournie ayant le focus. Les touches d’accès sont en « mode d’affichage » quand elles affichent un conseil de touche pour appeler une commande, par exemple, quand vous appuyez sur la touche Alt dans Paint pour afficher les touches qui correspondent aux contrôles. Cette méthode permet d’entrer le mode d’affichage programmatiquement.
  • Application.ResourceManagerRequested fournit un mécanisme pour avoir un autre IResourceManager qui résout les URI de ressource dans les scénarios où le ResourceManager par défaut ne fonctionne pas. Pour plus d’informations, consultez la Spécification de l’API Application.ResourceManagerRequested sur GitHub.
  • Nous introduisons un nouveau contrôle de liste appelé ItemsView et la classe concrète ItemContainer correspondante. ItemContainer est un conteneur léger avec des états de sélection et des visuels intégrés, qui peut facilement encapsuler le contenu souhaité et être utilisé avec ItemsView dans un scénario de contrôle de collection. ItemsView est toujours marqué expérimental dans l’aperçu 1, mais sera inclus dans la prochaine version 1.4.
  • Le SDK WebView2 a été mis à jour de la version 1661.34 à la version 1823.32.

Nouvelles API dans la version 1.4.0-preview1

La version 1.4-preview1 inclut les nouvelles API suivantes par rapport à la version stable 1.3 :

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