Partager via


Dernières notes de version de la chaîne expérimentale pour le SDK d'application Windows

Important

Le canal expérimental n’est pas pris en charge pour une utilisation dans les environnements de production, et les applications qui utilisent les versions expérimentales ne peuvent pas être publiées dans la Boutique Microsoft.

La chaîne expérimentale comprend des versions du SDK d'application Windows avec des fonctionnalités de la chaîne expérimentale à des stades précoces de développement. Les API pour les fonctionnalités expérimentales ont l’attribut Expérimental. Si vous appelez une API expérimentale dans votre code, vous recevrez un avertissement au moment de la génération. Toutes les API de la chaîne expérimentale font l'objet de révisions approfondies et de changements radicaux. Les fonctionnalités expérimentales et les API peuvent être retirées des versions ultérieures à tout moment.

Liens importants :

Archives des notes de mise à disposition des chaînes expérimentales :

Version 1.6 Expérimentale (1.6.0-experimental2)

Il s’agit de la dernière version du canal expérimental.

Pour télécharger, reciblez votre version NuGet WinAppSDK vers 1.6.240701003-experimental2.

Remarque

Les API Phi Silicon et OCR ne sont pas incluses dans cette version. Celles-ci seront disponibles dans une prochaine version 1.6.

Mises à jour de prise en charge DOT natives

Dans la version 1.6-experimental1, le compilateur XAML générait XamlTypeInfo.g.cs du code qui n’était pas sûr pour AOT/Trimming. Cela concerne le problème GitHub #9675, même s’il ne résout pas entièrement ce problème.

Modification de l’intégration du Kit de développement logiciel (SDK) Edge WebView2

Le Kit de développement logiciel (SDK) d’application Windows utilise désormais le Kit de développement logiciel (SDK) Edge WebView2 comme référence NuGet plutôt que d’incorporer une version codée en dur du SDK Edge WebView2. Le nouveau modèle permet aux applications de choisir une version plus récente du Microsoft.Web.WebView2 package au lieu d’être limitée à la version avec laquelle le SDK d’application Windows a été créé. Le nouveau modèle permet également aux applications de référencer des packages NuGet qui font également référence au Kit de développement logiciel (SDK) Edge WebView2. Pour plus d’informations, consultez le problème GitHub #5689.

Nouvelles API de déploiement de package

L’API Gestion des packages a reçu plusieurs améliorations, notamment Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() et plusieurs correctifs de bogues. Pour plus d’informations, consultez PackageManagement.md et la demande de tirage #4453 .

Autres changements notables

  • À compter de la version 1.6-experimental2, la dernière source WinUI 3 sera désormais publiée dans la branche principale du dépôt GitHub microsoft-ui-xaml, ce qui permettra la recherche source dans ce référentiel.
  • Nous avons ajouté une nouvelle ColorHelper.ToDisplayName() API, remplissant cet écart par le service UWP.
    • Problème connu : certaines traductions linguistiques présentent des problèmes d’encodage de caractères. Cette opération sera corrigée dans la prochaine version 1.6.
  • Ajout d’une nouvelle Microsoft.Windows.Globalization.ApplicationLanguages classe, qui inclut notamment une nouvelle PrimaryLanguageOverride fonctionnalité. Pour plus d’informations, consultez le problème GitHub #4523.
  • Les nouvelles extensions permettent aux fournisseurs de widgets de fournir des widgets avec du contenu web et des annonces pour les widgets.

Nouvelles API pour 1.6-experimental2

1.6-experimental2 inclut les nouvelles API suivantes. Ces API ne sont pas expérimentales, mais ne sont pas encore incluses dans une version stable de WinAppSDK.

Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus

API 1.6-experimental2 supplémentaires

Cette version inclut les API expérimentales nouvelles et modifiées suivantes :

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Composition

    CompositionNotificationDeferral
Microsoft.UI.Composition.Experimental

    ExpCompositionVisualSurface
    ExpExpressionNotificationProperty
    IExpCompositionPropertyChanged
    IExpCompositionPropertyChangedListener
    IExpCompositor
    IExpVisual
Microsoft.UI.Content

    AutomationOptions
    ChildContentLink
    ContentAppWindowBridge
    ContentDisplayOrientations
    ContentExternalBackdropLink
    ContentExternalOutputLink
    ContentIsland
        Children
        Compositor
        Connected
        ConnectionInfo
        ConnectRemoteEndpoint
        Create
        Disconnected
        FindAllForCompositor
        FragmentRootAutomationProvider
        GetByVisual
        IsRemoteEndpointConnected
        NextSiblingAutomationProvider
        Offset
        ParentAutomationProvider
        PreviousSiblingAutomationProvider
        Root
        RotationAngleInDegrees

    ContentIslandEnvironment
        AutomationOption
        CurrentOrientation
        DisplayScale
        NativeOrientation
        ThemeChanged

    ContentSite
        Compositor
        Offset
        RotationAngleInDegrees
        SetContentNodeParent
        SetIsInputPassThrough
        SiteVisual
        TryGetAutomationProvider

    ContentSiteAutomationProviderRequestedEventArgs
    ContentSiteEnvironment
        CurrentOrientation
        DisplayScale
        NativeOrientation
        NotifyThemeChanged

    ContentSiteView
        Offset
        RotationAngleInDegrees

    CoreWindowSiteBridge
    CoreWindowTopLevelWindowBridge
    DesktopChildSiteBridge
        AcceptRemoteEndpoint
        ConnectionInfo
        IsRemoteEndpointConnected
        RemoteEndpointConnecting
        RemoteEndpointDisconnected
        RemoteEndpointRequestedStateChanged

    DesktopSiteBridge
        TryCreatePopupSiteBridge

    EndpointConnectionEventArgs
    EndpointRequestedStateChangedEventArgs
    IContentIslandEndpointConnectionPrivate
    IContentLink
    IContentNodeOwner
    IContentSiteBridge2
    IContentSiteBridgeAutomation
    IContentSiteBridgeEndpointConnectionPrivate
    PopupWindowSiteBridge
    ProcessStarter
    ReadOnlyDesktopSiteBridge
    SystemVisualSiteBridge
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputKeyboardSource
        GetForWindowId

    InputLayoutPolicy
    InputLightDismissAction
        GetForIsland

    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    InputPointerActivationBehavior
    InputPointerSource
        ActivationBehavior
        DirectManipulationHitTest
        GetForVisual
        GetForWindowId
        RemoveForVisual
        TouchHitTesting
        TrySetDeviceKinds

    MoveSizeOperation
    ProximityEvaluation
    TouchHitTestingEventArgs
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Input.Experimental

    ExpInputSite
    ExpPointerPoint
Microsoft.UI.Windowing

    AppWindow
        DefaultTitleBarShouldMatchAppModeTheme

    DisplayArea
        GetMetricsFromWindowId
Microsoft.UI.Xaml

    XamlIsland
    XamlRoot
        CoordinateConverter
        TryGetContentIsland
Microsoft.UI.Xaml.Automation.Peers

    PagerControlAutomationPeer
    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    ContentDialogPlacement
        UnconstrainedPopup

    ElementFactory
    FlowLayout
    FlowLayoutAnchorInfo
    FlowLayoutLineAlignment
    FlowLayoutState
    IApplicationViewSpanningRects
    IndexPath
    ISelfPlayingAnimatedVisual
    ItemContainer
        CanUserInvoke
        CanUserInvokeProperty
        CanUserSelect
        CanUserSelectProperty
        ItemInvoked
        MultiSelectMode
        MultiSelectModeProperty

    ItemContainerInteractionTrigger
    ItemContainerInvokedEventArgs
    ItemContainerMultiSelectMode
    ItemContainerUserInvokeMode
    ItemContainerUserSelectMode
    LayoutPanel
    NumberBox
        InputScope
        InputScopeProperty
        TextAlignment
        TextAlignmentProperty

    PagerControl
    PagerControlButtonVisibility
    PagerControlDisplayMode
    PagerControlSelectedIndexChangedEventArgs
    PagerControlTemplateSettings
    ProgressRing
        DeterminateSource
        DeterminateSourceProperty
        IndeterminateSource
        IndeterminateSourceProperty

    RecyclePool
    RecyclingElementFactory
    ScrollingViewChangingEventArgs
    ScrollView
        ViewChanging

    SelectionModel
    SelectionModelChildrenRequestedEventArgs
    SelectionModelSelectionChangedEventArgs
    SelectTemplateEventArgs
    StackLayout
        IsVirtualizationEnabled
        IsVirtualizationEnabledProperty

    StackLayoutState
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
    TitleBar
    TitleBarAutomationPeer
    TitleBarTemplateSettings
    UniformGridLayoutState
Microsoft.UI.Xaml.Controls.Primitives

    ScrollPresenter
        ViewChanging
Microsoft.Windows.ApplicationModel.WindowsAppRuntime

    DeploymentManager
        Repair

    DeploymentStatus
        PackageRepairFailed

    ReleaseInfo
    RuntimeInfo
    VersionInfoContract
Microsoft.Windows.Widgets.Feeds.Providers

    FeedManager
        TryRemoveAnnouncementById

    IFeedManager3
Microsoft.Windows.Widgets.Notifications

    WidgetAnnouncement
    WidgetAnnouncementInvokedArgs
Microsoft.Windows.Widgets.Providers

    IWidgetAnnouncementInvokedTarget
    IWidgetManager2
    IWidgetManager3
    IWidgetProviderMessage
    IWidgetResourceProvider
    WidgetManager
        SendMessageToContent
        TryRemoveAnnouncementById
        TryShowAnnouncement

    WidgetMessageReceivedArgs
    WidgetResourceRequest
    WidgetResourceRequestedArgs
    WidgetResourceResponse

Problèmes connus

  • Pour la déchirure de tabulation TabView, le comportement d’entrée du pointeur pour CanTearOutTabs est incorrect sur les moniteurs avec un facteur d’échelle différent de 100 %. Cette opération sera corrigée dans la prochaine version 1.6.

Résolution des bogues

  • Correction d’un problème de la version 1.6-experimental1, où NumberBox l’utilisation des couleurs de premier plan et d’arrière-plan correctes n’était pas utilisée. Pour plus d’informations, consultez le problème GitHub #9714.
  • Correction d’un problème lié au fait que les événements dupliqués KeyUp étaient déclenchés pour les touches de direction et d’onglet. Pour plus d’informations, consultez le problème GitHub #9399.
  • Correction d’un problème où l’événement PowerManager.SystemSuspendStatusChanged était inutilisable pour obtenir le SystemSuspendStatus. Pour plus d’informations, consultez le problème GitHub #2833.
  • Correction d’un problème où le focus clavier initial n’était pas correctement donné à un WebView2 moment où il s’agissait du seul contrôle dans la fenêtre.
  • Correction d’un problème lors de l’utilisation ExtendsContentIntoTitleBar=true des boutons Min/Max/Close qui n’apparaissent pas correctement dans UI Automation, ce qui empêchait l’accès vocal d’afficher des numéros pour ces boutons.
  • Correction d’un problème où une application peut se bloquer dans une vérification de verrou en raison d’une réentrance inattendue.
  • Correction d’un problème de la version 1.6-experimental1, où TitleBar seulement l’icône et le titre affichaient l’icône et le titre, car certains éléments n’étaient pas affichés lors de la charge.
  • Correction d’un problème où Hyperlink les couleurs ne sont pas correctement mises à jour lors du basculement dans un thème à contraste élevé.
  • Correction d’un problème où la modification de la collection d’une ListView fenêtre en arrière-plan peut mal déplacer cette fenêtre au premier plan et prendre le focus.
  • Correction d’un problème de la version 1.6-experimental1 où le paramètre AcrylicBrush.TintLuminosityOpacity dans .xaml dans un projet de bibliothèque de classes se bloque avec une erreur de conversion de type.
  • Correction d’un problème où l’appel ItemsRepeater.StartBringIntoView pouvait parfois entraîner la disparition des éléments.
  • Correction d’un problème où l’interaction tactile et la glisser sur une Button ScrollViewer entrée laissent dans un état appuyé.
  • Mise à jour d’IntelliSense, qui manquait des informations pour de nombreux types et membres plus récents.

Version 1.6 Expérimentale (1.6.0-experimental1)

Il s’agit de la dernière version du canal expérimental.

Pour télécharger, reciblez votre version NuGet WinAppSDK vers 1.6.240531000-experimental1.

Modifications requises du projet C# pour la version 1.6-experimental1

Dans 1.6-experimental1, les applications gérées par le SDK d’application Windows nécessitent Microsoft.Windows.SDK.NET.Ref *.*.*.35-preview (ou version ultérieure), qui peuvent être spécifiées via WindowsSdkPackageVersion dans votre csproj fichier. Par exemple :

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.35-preview</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

En outre, les applications gérées par le SDK d’application Windows à l’aide de C#/WinRT doivent être mises à jour vers Microsoft.Windows.CsWinRT 2.1.0-prerelease.240602.1 (ou version ultérieure).

Prise en charge native d’AOA

La propriété de projet .NET PublishAot est désormais prise en charge pour la compilation native Ahead-Of-Time. Pour plus d’informations, consultez Déploiement AOT natif. Étant donné que L’AOT s’appuie sur la prise en charge du découpage, la plupart des instructions relatives au découpage suivantes s’appliquent également à AOT.

Pour PublishAot la prise en charge, en plus des modifications du projet C# décrites dans la section précédente, vous aurez également besoin d’une référence de package à Microsoft.Windows.CsWinRT 2.1.0-prerelease.240602.1 (ou version ultérieure) pour activer le générateur source à partir de ce package.

Étant donné que le SDK d’application Windows appelle des cibles de publication lors du déploiement F5, nous vous recommandons d’activer PublishAot au moment de la restauration NuGet en ajoutant ceci à votre csproj fichier :

<PublishAot Condition="'$(ExcludeRestorePackageImports)'=='true'">true</PublishAot>

En outre, nous vous recommandons d’activer PublishAot conditionnellement lors de la publication de configurations de mise en production, soit dans les profils de publication, soit dans le projet :

<PublishAot Condition="'$(Configuration)'=='Release'">true</PublishAot>

Résolution des problèmes AOT

Dans cette version, le développeur est chargé de s’assurer que tous les types sont correctement rootés pour éviter le découpage (par exemple, avec des cibles basées sur {Binding} la réflexion). Les versions ultérieures amélioreront C#/WinRT et le compilateur XAML pour automatiser la racine dans la mesure du possible, alerter les développeurs pour réduire les risques et fournir des mécanismes de résolution.

Classes partielles

C#/WinRT inclut PublishAot également la prise en charge de la version 2.1.0-prerelease.240602.1. Pour activer une classe pour la publication AOT avec C#/WinRT, elle doit d’abord être marquée partial. Cela permet à l’analyseur source AOT C#/WinRT d’attribuer les classes pour l’analyse statique. Seules les classes (qui contiennent des méthodes, les cibles de trimming) nécessitent cet attribut.

Techniques sans réflexion

Pour activer la compatibilité AOT, les techniques basées sur la réflexion doivent être remplacées par la sérialisation typée statiquement, AppContext.BaseDirectory, typeof(), etc. Pour plus d’informations, consultez Présentation des avertissements de suppression.

Types de racine

Tant que la prise en charge complète de l’implémentation n’est pas prise en charge{Binding}, les types peuvent être conservés de la suppression comme suit : Étant donné que l’assembly A consommant du projet P avec un type T dans l’espace de noms N, qui est uniquement référencé dynamiquement (donc normalement supprimé), T peut être conservé via :

P.csproj:

<ItemGroup>
    <TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
</ItemGroup>

ILLink.Descriptors.xml:

<?xml version="1.0" encoding="utf-8"?>
<linker>
    <assembly fullname="A">
        <type fullname="N.T" preserve="all" />
    </assembly>
</linker>

Pour obtenir la syntaxe complète de l’expression XML du descripteur racine, consultez Les descripteurs racines.

Remarque

Les packages de dépendances qui n’ont pas encore adopté la prise en charge DOT peuvent présenter des problèmes d’exécution.

Amélioration de la déchirure de tabulation TabView

TabView prend en charge un nouveau CanTearOutTabs mode qui offre une expérience améliorée pour faire glisser des onglets et faire glisser vers une nouvelle fenêtre. Lorsque cette nouvelle option est activée, le glissement de tabulation est très similaire à l’expérience de glissement de tabulation dans Edge et Chrome, où une nouvelle fenêtre est créée immédiatement pendant le glisser, ce qui permet à l’utilisateur de le faire glisser vers le bord de l’écran pour agrandir ou aligner la fenêtre dans un mouvement lisse. Cette implémentation n’utilise pas non plus d’API glisser-déplacer. Elle n’est donc pas affectée par les limitations de ces API. Notamment, la déchirure de tabulation est prise en charge dans les processus qui s’exécutent avec élévation de privilèges en tant qu’administrateur.

Problème connu : dans cette version, le comportement d’entrée du pointeur est CanTearOutTabs incorrect sur les moniteurs dont le facteur d’échelle est différent de 100 %. Cette opération sera corrigée dans la prochaine version 1.6.

Nouveau contrôle TitleBar

Un nouveau TitleBar contrôle facilite la création d’une barre de titre idéale et personnalisable pour votre application avec les fonctionnalités suivantes :

  • Propriétés de l’icône configurable, du titre et du sous-titre
  • Bouton Précédent intégré
  • Possibilité d’ajouter un contrôle personnalisé comme une zone de recherche
  • Masquage automatique et affichage des éléments en fonction de la largeur de la fenêtre
  • Affordances pour afficher l’état de la fenêtre active ou désactive
  • Prise en charge des fonctionnalités de barre de titres par défaut, notamment les régions pouvant être glisser dans des zones vides, la réactivité du thème, les boutons de légende par défaut (min/max/close) et la prise en charge de l’accessibilité intégrée

Le TitleBar contrôle est conçu pour prendre en charge différentes combinaisons de barres de titre, ce qui le rend flexible pour créer l’expérience souhaitée sans avoir à écrire beaucoup de code personnalisé. Nous avons pris des commentaires du prototype de la barre de titres de la boîte à outils de la communauté et nous attendons avec impatience d’autres commentaires !

Problème connu : dans cette version, la TitleBar seule affiche l’icône et le titre en raison d’un problème où certains éléments ne s’affichent pas lors du chargement. Pour contourner ce problème, utilisez le code suivant pour charger les autres éléments (sous-titre, en-tête, contenu et pied de page) :

public MainWindow()
  {
      this.InitializeComponent();
      this.ExtendsContentIntoTitleBar = true;
      this.SetTitleBar(MyTitleBar);

      MyTitleBar.Loaded += MyTitleBar_Loaded;
  }

  private void MyTitleBar_Loaded(object sender, RoutedEventArgs e)
  {
      // Parts get delay loaded. If you have the parts, make them visible.
      VisualStateManager.GoToState(MyTitleBar, "SubtitleTextVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "HeaderVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "ContentVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "FooterVisible", false);

      // Run layout so we re-calculate the drag regions.
      MyTitleBar.InvalidateMeasure();
  }

Ce problème sera résolu dans la prochaine version 1.6.

Autres changements notables

  • Non scellé ItemsWrapGrid. Il doit s’agir d’une modification rétrocompatible.
  • PipsPager prend en charge un nouveau mode dans lequel il peut être encapsulé entre les premiers éléments et les éléments de liste.
  • RatingControl est désormais plus personnalisable, en déplaçant certaines propriétés de style codées en dur vers des ressources de thème. Cela permet aux applications de remplacer ces valeurs pour mieux personnaliser l’apparence de RatingControl.

Nouvelles API pour 1.6-experimental1

1.6-experimental1 inclut les nouvelles API suivantes. Ces API ne sont pas expérimentales, mais ne sont pas encore incluses dans une version stable de WinAppSDK.

Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
        None
        Wrap

API 1.6-experimental1 supplémentaires

Cette version inclut les API expérimentales nouvelles et modifiées suivantes :

Microsoft.UI.Content

    ChildContentLink
    ContentExternalOutputLink
        IsAboveContent

    ContentIsland
        Children
        Create
        FindAllForCompositor
        GetByVisual
        Offset
        RotationAngleInDegrees

    ContentSite
        Offset
        RotationAngleInDegrees

    ContentSiteView
        Offset
        RotationAngleInDegrees

    IContentLink
    IContentSiteBridge2
    ReadOnlyDesktopSiteBridge
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Windowing

    AppWindow
        DefaultTitleBarShouldMatchAppModeTheme
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
        TryGetContentIsland
Microsoft.UI.Xaml.Controls

    ScrollingViewChangingEventArgs
    ScrollView
        ViewChanging

    StackLayout
        IsVirtualizationEnabled
        IsVirtualizationEnabledProperty

    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
    TitleBar
    TitleBarAutomationPeer
    TitleBarTemplateSettings
Microsoft.UI.Xaml.Controls.Primitives

    ScrollPresenter
        ViewChanging

Autres problèmes connus

  • Les applications non XAML qui utilisent Microsoft.UI.Content.ContentIslands et ne gèrent pas l’événement ContentIsland.AutomationProviderRequested (ou retournent nullptr en tant que fournisseur d’automatisation) se bloquent si un outil d’accessibilité ou d’automatisation de l’interface utilisateur est activé, tel que l’accès vocal, le Narrateur, Accessibility Insights, Inspect.exe, etc.

Résolution des bogues

Cette version contient les correctifs de bugs suivants :

  • Correction d’un problème où le fait de cliquer dans une zone vide d’un ScrollViewer déplacerait toujours le focus vers le premier contrôle focusable dans le contrôle et faites défiler ce contrôle dans l’affichage ScrollViewer . Pour plus d’informations, consultez le problème GitHub #597.
  • Correction d’un problème où l’événement Window.Activated a parfois déclenché plusieurs fois. Pour plus d’informations, consultez le problème GitHub #7343.
  • Correction d’un problème définissant la NavigationViewItem.IsSelected propriété pour true empêcher ses enfants de s’afficher lorsqu’ils sont développés. Pour plus d’informations, consultez le problème GitHub #7930.
  • Correction d’un problème où MediaPlayerElement les légendes n’affichaient pas correctement les légendes avec None ou DropShadow les effets de bord. Pour plus d’informations, consultez le problème GitHub #7981.
  • Correction d’un problème où la Flyout.ShowMode propriété n’était pas utilisée lors de l’affichage du menu volant. Pour plus d’informations, consultez le problème GitHub #7987.
  • Correction d’un problème où NumberBox il y aurait parfois des erreurs d’arrondi. Pour plus d’informations, consultez le problème GitHub #8780.
  • Correction d’un problème où l’utilisation d’une bibliothèque compilée sur une version antérieure de WinAppSDK peut atteindre une tentative de recherche d’un type ou d’une propriété. Pour plus d’informations, consultez le problème GitHub #8810.
  • Correction d’un problème où le focus clavier initial n’est pas défini lors du lancement d’une fenêtre. Pour plus d’informations, consultez le problème GitHub #8816.
  • Correction d’un problème qui FlyoutShowMode.TransientWithDismissOnPointerMoveAway ne fonctionnait pas après la première fois qu’il s’affichait. Pour plus d’informations, consultez le problème GitHub #8896.
  • Correction d’un problème où certains contrôles n’ont pas correctement lié et Background propriétés de modèleForeground. Pour plus d’informations, consultez le problème GitHub #7070, #9020, #9029, #9083 et #9102.
  • Correction d’un problème où ThemeResources’était utilisé dans VisualStateManager les setters ne se mettait pas à jour lors de la modification du thème. Ces contrôles fréquemment affectés dans les menu volants. Pour plus d’informations, consultez le problème GitHub #9198.
  • Correction d’un problème où WebView le focus de clé serait perdu, ce qui entraînait des événements flous/focus supplémentaires et d’autres problèmes. Pour plus d’informations, consultez le problème GitHub #9288.
  • Correction d’un problème où NavigationView peut afficher une erreur de liaison dans la sortie de débogage. Pour plus d’informations, consultez le problème GitHub #9384.
  • Correction d’un problème où les fichiers SVG définissant une zone de vue négative ne sont plus rendus. Pour plus d’informations, consultez le problème GitHub #9415.
  • Correction d’un problème où la modification ItemsView.Layout de l’orientation entraînait la suppression d’un élément. Pour plus d’informations, consultez le problème GitHub #9422.
  • Correction d’un problème où le défilement d’une ScrollView sortie de débogage a généré un grand nombre de sorties de débogage. Pour plus d’informations, consultez le problème GitHub #9434.
  • Correction d’un problème où MapContorl.InteractiveControlsVisible ne fonctionne pas correctement. Pour plus d’informations, consultez le problème GitHub #9486.
  • Correction d’un problème où MapControl.MapElementClick l’événement ne se déclenche pas correctement. Pour plus d’informations, consultez le problème GitHub #9487.
  • Correction d’un problème où x :Bind ne vérifie pas la valeur Null avant d’utiliser une référence faible, ce qui peut entraîner un blocage. Pour plus d’informations, consultez le problème GitHub #9551.
  • Correction d’un problème où la modification de la TeachingTip.Target propriété ne met pas correctement à jour sa position. Pour plus d’informations, consultez le problème GitHub #9553.
  • Correction d’un problème où les listes déroulantes ne répondaient pas dans WebView2. Pour plus d’informations, consultez le problème GitHub #9566.
  • Correction d’une fuite de mémoire lors de l’utilisation GeometryGroup. Pour plus d’informations, consultez le problème GitHub #9578.
  • Correction d’un problème où le défilement à travers un très grand nombre d’éléments d’un ItemRepeater dans un ScrollView peut provoquer des images de rendu vides. Pour plus d’informations, consultez le problème GitHub #9643.
  • Correction d’un problème qui SceneVisual ne fonctionnait pas.