Notes de publication de Windows UI Library 3 - Project Reunion 0.5 Preview (mars 2021)

Windows UI Library (WinUI) 3 est une plateforme d’expérience utilisateur native pour la création d’applications Windows modernes. Cette préversion de WinUI 3 fonctionne pour les applications de bureau/Win32 et UWP, et inclut des modèles de projet Visual Studio qui vous permettent de créer des applications avec une interface utilisateur basée sur WinUI ainsi qu’un package NuGet qui contient les bibliothèques WinUI.

WinUI 3 - Project Reunion 0.5 Preview est la première version de WinUI 3, où elle est fournie dans le cadre du package Project Reunion (qui s’appelle à présent SDK d’application Windows). Outre cette modification, cette préversion contient des correctifs de bogues critiques, une stabilité accrue et quelques autres améliorations générales (consultez Fonctionnalités introduites dans WinUI 3 - Project Reunion 0.5 Preview).

Important

Cette préversion de WinUI 3 est destinée à permettre une évaluation anticipée et la collecte du feedback de la communauté des développeurs. Il ne doit PAS être utilisé pour les applications de production.

Utilisez le dépôt GitHub WinUI pour fournir des commentaires et journaliser des suggestions et des problèmes.

Notes

Project Reunion est le nom de code précédent du kit Windows App SDK. Cette documentation utilise toujours Project Reunion quand elle fait référence aux versions antérieures qui utilisaient ce nom de code.

Installer WinUI 3 - Project Reunion 0.5 Preview

Cette version de WinUI 3 est disponible dans le cadre de Project Reunion 0.5 Preview.

Pour l’installer, suivez les instructions fournies dans Installer des outils pour la préversion et les canaux expérimentaux du SDK d’application Windows.

Contrairement aux préversions antérieures de WinUI 3, vous allez télécharger un package VSIX Project Reunion au lieu d’un package VSIX WinUI. Project Reunion VSIX fournit des modèles WinUI 3 dans Visual Studio que vous pouvez utiliser pour créer votre application WinUI 3. Une fois l’installation terminée, l’expérience de développement d’une application WinUI 3 ne devrait pas être différente.

Notes

Vous pouvez aussi cloner et générer la préversion de WinUI 3 de la Galerie de contrôles XAML.

Notes

Pour utiliser les outils WinUI 3, tels que l’arborescence d’éléments visuels en direct, le rechargement à chaud et l’Explorateur de propriétés en direct, vous devez activer les outils WinUI 3 avec les fonctionnalités en préversion Visual Studio, comme décrit dans les instructions ici.

Après avoir configuré votre environnement de développement, consultez Modèles WinUI 3 dans Visual Studio pour vous familiariser avec les modèles de projet et d’élément Visual Studio disponibles.

Pour plus d’informations sur la façon de commencer avec les modèles de projet WinUI, consultez les articles suivants :

En plus des limitations et des problèmes connus, la génération d’une application à l’aide des projets WinUI est semblable à la génération d’une application UWP avec XAML et WinUI 2. Par conséquent, la majeure partie de la documentation d’aide pour les applications UWP et les espaces de noms WinRT Windows.UI figurant dans le SDK Windows est applicable.

La documentation de référence sur l’API WinUI 3 est disponible ici : Informations de référence sur l’API WinUI 3

Si vous avez créé un projet en utilisant WinUI 3 Preview 4, vous pouvez mettre à niveau votre projet pour qu’il utilise Project Reunion 0.5 Preview.

Vue web 2

Pour utiliser WebView2 avec cette préversion de WinUI 3, téléchargez le programme d’installation Evergreen Bootstrapper or Evergreen Standalone sur cette page si vous n’avez pas encore installé le runtime WebView2.

Windows Community Toolkit

Si vous utilisez le kit de ressources Communauté Windows, téléchargez la dernière version.

Support Visual Studio

Pour tirer parti des dernières fonctionnalités des outils ajoutées à WinUI 3, comme le rechargement à chaud, l’arborescence d’éléments visuels en direct et l’Explorateur de propriétés en direct, vous devez utiliser la dernière préversion de Visual Studio avec la dernière préversion de WinUI 3, et veiller à activer les outils WinUI dans les fonctionnalités en préversion de Visual Studio, comme décrit dans ces instructions. Le tableau ci-dessous montre la compatibilité des versions futures avec WinUI 3 - Project Reunion 0.5 Preview :

Version de Visual Studio WinUI 3 - Project Reunion 0.5 Preview
16.8 RTM Non
Préversions 16.9 Oui, avec des outils
16.9 RTM Oui, mais sans Rechargement à chaud, Arborescence d'éléments visuels en direct ou Explorateur de propriétés en direct
Préversions 16.10 Oui, avec des outils

Principales modifications introduites dans cette version

  • WinUI 3 est désormais livré dans le cadre du package Project Reunion, qui est aussi le mécanisme selon lequel nos futures versions prises en charge seront livrées.

  • Acrylique dans l’application est désormais pris en charge.

  • Le contrôle Pivot n’est plus pris en charge et a été déprécié dans WinUI 3. Nous recommandons d’utiliser le contrôle NavigationView pour vos scénarios de navigation dans l’application.

  • WinUI 3 et Project Reunion ne seront pris en charge qu’à un niveau inférieur à Windows 10 version 1809 : la build 17763 ou une build ultérieure est nécessaire.

  • Les fonctionnalités en préversion sont désormais marquées comme expérimentales.

    • Une fonctionnalité en préversion est tout ce qui continuera à faire partie des préversions de WinUI 3, mais ne fera pas partie de la version prise en charge suivante de WinUI 3.
    • Les fonctionnalités en préversion incluent également les API expérimentales qui font partie de la préversion de WinUI 2.6.
    • Quand vous créez une application qui utilise une fonctionnalité en préversion, votre application génère un avertissement.

Liste des bogues corrigés dans WinUI 3 - Project Reunion 0.5 Preview

Vous trouverez ci-dessous une liste de bogues orientés utilisateur que l’équipe a résolus depuis Preview 3. Beaucoup de travail a été également réalisé autour de la stabilisation et de l’amélioration de nos tests.

  • Le message d’erreur WinUI 3 doit être reformulé : « Impossible de résoudre ’Windows.metadata’. Installez le Kit de développement logiciel (SDK) Windows. Le Kit de développement logiciel (SDK) Windows est installé avec Visual Studio. »

  • L’application ne répond pas aux modifications de thème dans Windows lors de la sélection du thème Windows par défaut jusqu’au redémarrage

  • Exception sur l’appel de XamlDirect.CreateInstance

  • La barre de progression ne montre pas la différence entre l’option Mise en pause et Erreur

  • Le menu volant des éléments de la vue de la liste StandardUICommand apparaît à une position incorrecte.

  • Plantage dans la Galerie de contrôles XAML de bureau lors de la tentative de réorganisation des éléments de la vue de liste avec l’interaction tactile

  • Appuyer et maintenir appuyé sur RichTextBlock place le menu volant au mauvais endroit

  • Les flèches gauche et droite ne déplacent pas le focus entre les cases d’option

  • Le narrateur reste silencieux quand l’utilisateur appuie sur les touches de direction vers le bas ou le haut pour sélectionner le mois/année/date suivant/précédent dans DatePicker

  • NavigationView avec exclusion de l’indicateur lumineux ne fonctionne pas dans WinUI 3

Nouvelles fonctionnalités introduites dans les préversions passées de WinUI 3

Les fonctionnalités suivantes ont été introduites dans WinUI 3 Preview 1 à 4 et continuent d’être prises en charge dans WinUI 3 - Project Reunion 0.5 Preview.

  • Possibilité de créer des applications de bureau avec WinUI, y compris .NET pour les applications Win32
  • RadialGradientBrush
  • Mises à jour de TabView
  • Mises à jour de thèmes sombres
  • Améliorations et mises à jour de WebView2
    • Prise en charge des résolutions élevées
    • Prise en charge du redimensionnement et du déplacement de fenêtre
    • Mise à jour pour cibler une version plus récente de Microsoft Edge
    • Vous n’avez plus besoin de référencer un package NuGet propre à WebView2
  • SwapChainPanel
  • Prise en charge de MRT Core
    • Ceci rend les applications plus rapides et plus légères au démarrage, et permet une recherche plus rapide des ressources.
  • Prise en charge d’Arm64
  • Glisser-déplacer à l’intérieur et à l’extérieur des applications
  • RenderTargetBitmap (actuellement seulement le contenu XAML - pas le contenu SwapChainPanel)
  • Prise en charge des curseurs personnalisés
  • Entrée hors thread
  • Améliorations apportées à notre expérience des outils/du développement :
    • Arborescence d’éléments visuels dynamique, rechargement à chaud, Explorateur de propriétés dynamique et outils similaires
    • Intellisense pour WinUI 3
  • Améliorations requises pour la migration open source
  • Fonctionnalités de barre de titre personnalisées : nouvelles API Window.ExtendsContentIntoTitleBar et Window.SetTitleBar qui permettent aux développeurs de créer des barres de titre personnalisées dans les applications de bureau.
  • Prise en charge de VirtualSurfaceImageSource

Fournir des commentaires et des suggestions

Nous serions heureux de recevoir vos commentaires dans le dépôt GitHub WinUI.

Limitations et problèmes connus

WinUI 3 - Project Reunion 0.5 Preview n’est qu’une préversion. Les scénarios concernant les applications de bureau sont spécialement nouveaux. Attendez-vous à des bogues, des limitations et d’autres problèmes.

Voici quelques-uns des problèmes connus avec WinUI 3 - Project Reunion 0.5 Preview. Si vous trouvez un problème qui ne figure pas dans la liste ci-dessous, faites-le nous savoir en contribuant à un problème existant ou en consignant un nouveau problème via le dépôt GitHub WinUI.

Prise en charge de plateforme et de système d’exploitation

WinUI 3 - Project Reunion 0.5 Preview est compatible avec les PC qui exécutent la mise à jour d’octobre 2018 de Windows 10 (version 1809 - build 17763) et ultérieur.

Outils de développeur

  • Seules les applications C# et C++/WinRT sont prises en charge
  • Les applications de bureau prennent en charge .NET 6 (ou ultérieure) et C# 9, et elles doivent être empaquetées dans une application MSIX
  • Les applications UWP prennent en charge .NET Native et C# 7.3
  • Les outils de développement et IntelliSense peuvent ne pas fonctionner correctement dans Visual Studio.
  • Aucune prise en charge du Concepteur XAML
  • Les nouvelles applications C++/CX ne sont pas prises en charge. Toutefois, vos applications existantes continueront à fonctionner (veuillez passer à C++/WinRT dès que possible)
  • La prise en charge de plusieurs fenêtres dans les applications de bureau est en cours de développement, mais n’est pas encore terminée ni stable.
    • Signalez un bogue sur notre dépôt si vous rencontrez de nouveaux problèmes ou des régressions avec le comportement des fenêtres multiples.
  • Le déploiement d’appareils de bureau sans package n’est pas pris en charge
  • Lors de l’exécution d’une application de bureau avec F5, vérifiez que vous exécutez le projet d’empaquetage. Si vous utilisez F5 sur le projet d’application, vous allez exécuter une application non empaquetée, que WinUI 3 ne prend pas encore en charge.

Fonctionnalités de plateforme manquantes

  • Support Xbox
  • Support HoloLens
  • Fenêtres contextuelles
    • Plus spécifiquement, la propriété ShouldConstrainToRootBounds agit toujours comme si elle était définie sur true, quelle que soit la valeur de la propriété.
  • Prise en charge des entrées manuscrites
  • Acrylique
  • MediaElement et MediaPlayerElement
  • MapControl
  • RenderTargetBitmap pour SwapChainPanel et contenu non-XAML
  • SwapChainPanel ne prend pas en charge la transparence
  • Global Reveal utilise le comportement de secours, un pinceau plein
  • XAML Islands n’est pas pris en charge dans cette version
  • Les bibliothèques d’écosystèmes tiers ne fonctionneront pas complètement
  • Les éditeurs IME ne fonctionnent pas
  • CoreWindow, ApplicationView, CoreApplicationView, CoreDispatcher et leurs dépendances ne sont pas pris en charge dans les applications de bureau (voir ci-dessous)

CoreWindow, ApplicationView, CoreApplicationView et CoreDispatcher dans les applications de bureau

Nouveau dans Preview 4 et standard à venir, CoreWindow, ApplicationView, CoreApplicationViewCoreDispatcher et leurs dépendances ne sont pas disponibles dans les applications de bureau. Par exemple, la propriété Window.Dispatcher a toujours la valeur null, mais la propriété Window.DispatcherQueue peut être utilisée comme alternative.

Ces API fonctionnent uniquement dans les applications UWP. Dans les préversions précédentes, elles fonctionnaient partiellement dans les applications de bureau mais dans Preview4, elles ont été entièrement désactivées. Ces API sont conçues pour le cas UWP où il n’y a qu’une seule fenêtre par thread, et l’une des fonctionnalités de WinUI3 consiste à en activer plusieurs.

Certaines API dépendent en interne de l’existence de ces API et ne sont donc pas prises en charge dans une application de bureau. Ces API ont généralement une méthode GetForCurrentView statique. Par exemple, UIViewSettings.GetForCurrentView.

Pour plus d’informations sur les API affectées ainsi que sur les solutions de contournement et les remplacements pour ces API, consultez Modifications de l’API WinRT pour les applications de bureau

Problèmes connus

  • Il y a un problème qui provoque l’échec du lancement des applications UWP sur Windows 10 version 1809. L’équipe travaille activement sur la résolution de ce bogue pour la préversion suivante.

  • Alt+F4 ne ferme pas les fenêtres des applications de bureau.

  • L’événement UISettings.ColorValuesChanged et l’événement AccessibilitySettings.HighContrastChanged ne sont plus pris en charge dans les applications de bureau. Cela peut entraîner des problèmes si vous l’utilisez pour détecter les changements apportés aux thèmes Windows.

  • Cette version comprend des API expérimentales, qui génèrent des avertissements de build quand elles sont utilisées. Elles n’ont pas été testées en profondeur par l’équipe et peuvent présenter des problèmes inconnus. Si vous rencontrez des problèmes, signalez un bogue sur notre dépôt.

  • Avant, pour obtenir une instance CompositionCapabilities, vous appeliez CompositionCapabilites.GetForCurrentView(). Toutefois, les fonctionnalités retournées après cet appel n’étaient pas dépendantes de la vue. Pour traiter et refléter cela, nous avons supprimé le GetForCurrentView() statique de cette version, donc maintenant vous pouvez créer un objet CompositionCapabilties directement.

  • Pour les applications UWP C# :

    L’environnement WinUI 3 est un ensemble de composants WinRT qui peuvent être utilisés à partir de C++ (avec C++/WinRT) ou C# . Pour C#, il existe deux versions de .NET, selon le modèle d’application : lors de l’utilisation de WinUI 3 dans une application UWP, vous utilisez .NET Native ; lors de l’utilisation dans une application de bureau, vous utilisez .NET 6 ou ultérieure (et C#/WinRT).

    Lors de l’utilisation de C# pour une application WinUI 3 dans UWP, il y a quelques différences dans les espaces de noms de l’API par rapport à C# dans une application de bureau WinUI 3 ou une application WinUI 2 C# : certains types se trouvent dans un espace de noms Microsoft au lieu d’un espace de noms System. Par exemple, l’interface INotifyPropertyChanged n’est pas dans l’espace de noms System.ComponentModel, mais se trouve dans l’espace de noms Microsoft.UI.Xaml.Data.

    Cela s’applique aux :

    • INotifyPropertyChanged (et types associés)
    • INotifyCollectionChanged
    • ICommand

    Les versions de l’espace de noms System existent toujours, mais ne peuvent pas être utilisées avec WinUI 3. Cela signifie que ObservableCollection ne fonctionne pas en l’état dans les applications UWP C# WinUI 3. Pour une solution de contournement, consultez l’exemple CollectionsInterop dans l’exemple XAML Controls Gallery.

Consultez la branche WinUI 3 Preview de la Galerie de contrôles XAML pour obtenir un exemple d’application qui comprend tous les contrôles et toutes les fonctionnalités qui font partie de WinUI 3 - Project Reunion 0.5 Preview.

WinUI 3 Preview XAML Controls Gallery app
Exemple d’application de la Galerie de contrôles XAML de WinUI 3 Preview

Pour télécharger l’exemple, clonez la branche winui3preview à l’aide de la commande suivante :

git clone --single-branch --branch winui3preview https://github.com/microsoft/Xaml-Controls-Gallery.git

Après le clonage, veillez à basculer vers la branche winui3preview dans votre environnement Git local :

git checkout winui3preview

Voir aussi