Moderniser vos applications de bureauModernize your desktop apps

Windows 10 et la plateforme universelle Windows (UWP) comportent de nombreuses fonctionnalités qui vous permettent de moderniser l’expérience utilisateur dans vos applications de bureau.Windows 10 and the Universal Windows Platform (UWP) offer many features you can use to deliver a modern experience in your desktop apps. La plupart de ces fonctionnalités sont disponibles sous forme de composants modulaires que vous pouvez incorporer dans vos applications de bureau, à votre rythme, sans avoir à réécrire le code des applications pour une autre plateforme.Most of these features are available as modular components that you can adopt in your desktop apps at your own pace without having to rewrite your application for a different platform. Enrichissez vos applications de bureau existantes avec les composants Windows 10 et UWP de votre choix.You can enhance your existing desktop apps by choosing which parts of Windows 10 and UWP to adopt.

Cet article décrit les fonctionnalités Windows 10 et UWP que vous pouvez utiliser dans vos applications de bureau dès aujourd’hui.This article describes the Windows 10 and UWP features that you can use in your desktop apps today. Pour un didacticiel qui montre comment moderniser une application existante pour utiliser un grand nombre des fonctionnalités de cet article, consultez le didacticiel Moderniser une application WPF.For a tutorial that demonstrates how to modernize an existing app to use many of the features described in this article, see the Modernize a WPF app tutorial.

Notes

Avez-vous besoin d’aide pour migrer vos applications de bureau vers Windows 10 ?Do you need assistance migrating desktop apps to Windows 10? Le service Soutien aux applications du bureau fournit gratuitement un support direct aux développeurs souhaitant migrer leurs applications vers Windows 10.The Desktop App Assure service provides direct, no-cost support to developers who are porting their apps to Windows 10. Ce programme est mis à la disposition de tous les ISV et toutes les entreprises éligibles.This program is available to all ISVs and eligible enterprises. Pour plus d’informations sur les critères d’éligibilité et sur le programme lui-même, consultez https://aka.ms/DesktopAppAssure.For more details on eligibility and about the program itself, visit https://aka.ms/DesktopAppAssure. Pour démarrer maintenant, envoyez votre demande.To get started now, submit your request.

Packages MSIXMSIX packages

MSIX est un format de package d’application Windows moderne qui permet de créer des packages universels pour toutes les applications Windows, notamment les applications UWP, WPF, Windows Forms et Win32.MSIX is a modern Windows app package format that provides a universal packaging experience for all Windows apps, including UWP, WPF, Windows Forms and Win32 apps. MSIX réunit les meilleurs aspects des technologies d’installation MSI, .appx, App-V et ClickOnce, et a été conçu pour être sûr, sécurisé et fiable.MSIX brings together the best aspects of MSI, .appx, App-V and ClickOnce installation technologies and is built to be safe, secure, and reliable.

En empaquetant vos applications de bureau Windows dans des packages MSIX, vous avez accès à une expérience d’installation et de mise à jour fiable, à un modèle de sécurité managé avec un système de capacité flexible, à un support pour le Microsoft Store, à la gestion d’entreprise et à de nombreux modèles de distribution personnalisés.Packaging your desktop Windows apps in MSIX packages gets you access to a robust installation and updating experience, a managed security model with a flexible capability system, support for the Microsoft Store, enterprise management, and many custom distribution models.

Pour plus d’informations, consultez Empaqueter des applications de bureau dans la documentation MSIX.For more information, see Package desktop applications in the MSIX documentation.

.NET Core 3.NET Core 3

.NET Core 3 est la dernière version majeure de .NET Core..NET Core 3 is the latest major release of .NET Core. La grande nouveauté de cette version est la prise en charge des applications de bureau Windows, notamment les applications Windows Forms et WPF.The highlight of this release is support for Windows desktop apps, including Windows Forms and WPF apps. Vous pouvez exécuter vos applications de bureau Windows, nouvelles et existantes, sur .NET Core 3 et tirer pleinement parti de cette nouvelle version de .NET Core.You can run new and existing Windows desktop apps on .NET Core 3 and enjoy all the benefits that .NET Core has to offer. De plus, vous pourrez utiliser les contrôles UWP hébergés dans XAML Islands dans toutes les applications Windows Forms et WPF qui ciblent .NET Core 3.UWP controls that are hosted in XAML Islands can also be used in Windows Forms and WPF apps that target .NET Core 3.

Pour plus d’informations, consultez Nouveautés de .NET Core 3.0.For more information, see What's new in .NET Core 3.0.

API UWPUWP APIs

Vous pouvez appeler de nombreuses API UWP directement dans votre application de bureau WPF, Windows Forms ou Win32 C++ afin d’apporter aux utilisateurs de Windows 10 des expériences modernes.You can call many UWP APIs directly in your WPF, Windows Forms, or C++ Win32 desktop app to integrate modern experiences that light up for Windows 10 users. Par exemple, vous pouvez appeler des API UWP pour ajouter des notifications toast à votre application de bureau.For example, you can call UWP APIs to add toast notifications to your desktop app.

Pour plus d’informations, consultez Utiliser des API UWP dans les applications de bureau.For more information, see Use UWP APIs in desktop apps.

Héberger des contrôles UWP (XAML Islands)Host UWP controls (XAML Islands)

À partir de Windows 10, version 1903, vous pouvez ajouter des contrôles XAML UWP directement dans n’importe quel élément d’interface utilisateur d’une application WPF, Windows Forms ou Win32 C++ qui est associé à un handle de fenêtre (HWND).Starting with the Windows 10, version 1903, you can add UWP XAML controls directly to any UI element in a WPF, Windows Forms, or C++ Win32 app that is associated with a window handle (HWND). Cela vous permet d’intégrer entièrement les dernières fonctionnalités UWP comme Windows Ink et les contrôles qui prennent en charge le système Fluent Design dans les fenêtres et autres aires d’affichage dans vos applications de bureau.This means that you can fully integrate the latest UWP features such as Windows Ink and controls that support the Fluent Design System into windows and other display surfaces in your desktop apps. Ce scénario de développement est parfois appelé XAML Islands.This developer scenario is sometimes called XAML islands.

Pour plus d’informations, consultez Contrôles UWP dans les applications de bureau.For more information, see UWP controls in desktop apps

Utiliser la couche Visuel dans les applications de bureauUse the Visual layer in desktop apps

Vous pouvez maintenant utiliser des API UWP dans des applications de bureau non conçues pour UWP. Ces API vous permettent d’améliorer l’apparence, le comportement et les fonctionnalités de vos applications WPF, Windows Forms et Win32 C++, mais aussi de bénéficier des toutes dernières fonctionnalités d’interface utilisateur de Windows 10 qui sont disponibles uniquement par le biais d’UWP.You can now use UWP APIs in non-UWP desktop apps to enhance the look, feel, and functionality of your WPF, Windows Forms, and C++ Win32 apps, and take advantage of the latest Windows 10 UI features that are only available via UWP. C’est utile pour créer des expériences utilisateur personnalisées plus avancées que les contrôles UWP intégrés que vous pouvez héberger en utilisant XAML Islands.This is useful when you need to create custom experiences that go beyond the built-in UWP controls you can host by using XAML Islands.

Pour plus d’informations, consultez Moderniser votre application de bureau à l’aide de la couche Visuel.For more information, see Modernize your desktop app using the Visual layer.

Fonctionnalités supplémentaires disponibles pour les applications empaquetéesAdditional features available to packaged apps

Certaines expériences Windows 10 modernes sont uniquement offertes dans les applications de bureau empaquetées dans un package MSIX.Some modern Windows 10 experiences are available only in desktop apps that are packaged in an MSIX package. Si vous empaquetez votre application de bureau dans un package MSIX, vous pouvez ensuite utiliser les API UWP qui nécessitent l’identité du package, les extensions du package et les composants UWP dans votre application empaquetée.If you package your desktop app in an MSIX package, you can then use UWP APIs that require package identity, package extensions, and UWP components in your packaged app.

Pour plus d’informations, consultez Fonctionnalités nécessitant l’identité du package.For more information, see Features that require package identity.

Contrôles UWP optimisés pour les applications de bureauUWP controls optimized for desktop apps

Que vous développiez une application UWP ciblant exclusivement la famille d’appareils de bureau ou que vous souhaitiez utiliser des contrôles UWP dans vos applications de bureau WPF, Windows Forms ou Win32 C++, les contrôles UWP nouveaux et mis à jour suivants sont conçus pour offrir des expériences de bureau optimisées avec le système Fluent Design.Whether you're building a UWP app that exclusively targets the desktop device family or you want to use UWP controls in a WPF, Windows Forms, or C++ Win32 desktop app, the following new and updated UWP controls are designed to offer desktop-optimized experiences with the Fluent Design System. Ces contrôles ont été introduits dans Windows 10, version 1809 (mise à jour d’octobre 2018 ou version 10.0.17763).These controls were introduced in Windows 10, version 1809 (the October 2018 Update, or version 10.0.17763).

CommandeControl DescriptionDescription
MenuBarMenuBar Fournit un moyen rapide et simple d’exposer un ensemble de commandes dans les applications nécessitant un niveau d’organisation et de regroupement plus avancé que celui fourni par CommandBar.Provides a quick and simple way to expose a set of commands for apps that might need more organization or grouping then a CommandBar allows.
DropDownButtonDropDownButton Affiche une flèche permettant de développer un menu volant attaché qui contient des options supplémentaires.Shows a chevron as a visual indicator that it has an attached flyout that contains more options.
SplitButtonSplitButton Fournit un bouton à deux composants, qui peuvent être appelés séparément.Provides a button has two parts that can be invoked separately. Un composant se comporte comme un bouton standard et appelle une action immédiate.One part behaves like a standard button and invokes an immediate action. L’autre composant appelle un menu volant qui propose des options supplémentaires à l’utilisateur.The other part invokes a flyout that contains additional options that the user can choose from.
ToggleSplitButtonToggleSplitButton Fournit un bouton à deux composants, qui peuvent être appelés séparément.Provides a button has two parts that can be invoked separately. Un composant se comporte comme un bouton bascule qui peut être activé ou désactivé.One part behaves like a toggle button that can be on or off. L’autre composant appelle un menu volant qui propose des options supplémentaires à l’utilisateur.The other part invokes a flyout that contains additional options that the user can choose from.
CommandBarFlyoutCommandBarFlyout Vous permet d’afficher les tâches utilisateur courantes dans le contexte d’un élément sur la zone de dessin de l’interface utilisateur.Lets you show common user tasks in the context of an item on your UI canvas.
ComboBoxComboBox Vous pouvez maintenant utiliser une zone de liste modifiable qui permet à l’utilisateur d’entrer d’autres valeurs que celles proposées dans le contrôle.You can now make a combo box editable so the user can enter values that aren't listed in the control.
TreeViewTreeView Vous pouvez désormais configurer une arborescence pour activer la liaison de données, les modèles d’élément et la fonction glisser-déplacer.You can now configure a tree view to enable data binding, item templates, and drag and drop.
DataGridViewDataGridView Offre un moyen flexible d’afficher une collection de données en lignes et en colonnes.Provides a flexible way to display a collection of data in rows and columns. Ce contrôle est disponible dans le kit de ressources Windows Community Toolkit.This control is available in the Windows Community Toolkit.

Bibliothèque d’IU WindowsWindows UI Library

La bibliothèque d’IU Windows est un ensemble de packages NuGet qui fournissent de nouveaux contrôles et autres éléments d’interface utilisateur pour les applications UWP.The Windows UI Library is a set of NuGet packages that provide new controls and other user interface elements for UWP apps. Les API de la bibliothèque d’IU Windows fonctionnent sur les versions antérieures de Windows 10. Les utilisateurs qui n’ont pas la dernière version de Windows 10 peuvent donc aussi utiliser votre application.Windows UI Library APIs work on earlier versions of Windows 10, so your app works even if users aren't running the latest version of Windows 10. Vous pouvez intégrer les nouveaux contrôles au fur et à mesure qu’ils sont mis à disposition dans la bibliothèque d’IU Windows, sans avoir à vous préoccuper des vérifications de version ou du XAML conditionnel.This lets you adopt new controls as they are released in the Windows UI Library without having to worry about including version checks or conditional XAML.

Consultez Bibliothèque d’IU Windows.See Windows UI Library.

Autres technologies pour les applications de bureau modernesOther technologies for modern desktop apps

Microsoft GraphMicrosoft Graph

Microsoft Graph est une collection d’API avec lesquelles vous pouvez créer des applications destinées aux organisations ou aux consommateurs qui interagissent avec les données de millions d’utilisateurs.Microsoft Graph is a collection of APIs you can use to build apps for organizations and consumers that interact with the data of millions of users. Microsoft Graph expose des API REST et des bibliothèques clientes pour accéder aux données des sources suivantes :Microsoft Graph exposes REST APIs and client libraries to access data on the following:

  • Azure Active DirectoryAzure Active Directory
  • Services Office 365 : SharePoint, OneDrive, Outlook/Exchange, Microsoft Teams, OneNote, Planner et ExcelOffice 365 services: SharePoint, OneDrive, Outlook/Exchange, Microsoft Teams, OneNote, Planner, and Excel
  • Services Enterprise Mobility + Security : Identity Manager, Intune, Advanced Threat Analytics et Advanced Threat Protection.Enterprise Mobility and Security services: Identity Manager, Intune, Advanced Threat Analytics, and Advanced Threat Protection.
  • Services Windows 10 : appareils et activitésWindows 10 services: activities and devices

Pour plus d’informations, consultez la documentation Microsoft Graph.For more information, see the Microsoft Graph docs.

Cartes adaptativesAdaptive Cards

Cartes adaptatives est un framework ouvert multiplateforme qui vous permet d’échanger du contenu d’interface utilisateur au format carte de façon commune et cohérente sur l’ensemble des appareils et des plateformes.Adaptive Cards is an open, cross-platform framework that you can use to exchange card-based UI content in a common and consistent way across devices and platforms.

Pour plus d’informations, consultez la documentation Cartes adaptatives.For more information, see the Adaptive Cards docs.