Bien démarrer avec la bibliothèque d’IU Windows 2.xGetting started with the Windows UI 2.x Library

WinUI 2.5, qui est la dernière version stable de WinUI, doit être utilisée pour les applications en production.WinUI 2.5 is the latest stable version of WinUI and should be used for apps in production.

La bibliothèque est disponible sous forme de package NuGet qui peuvent être ajoutés à un projet Visual Studio nouveau ou existant.The library is available as a NuGet package that can be added to any new or existing Visual Studio project.

Notes

Pour plus d’informations sur l’essai des préversions anticipées de WinUI 3, consultez Bibliothèque d’interface utilisateur Windows 3 Preview 3 (novembre 2020).For more information on trying out early previews of WinUI 3, see Windows UI Library 3 Preview 3 (November 2020).

Télécharger et installer la bibliothèque d’IU WindowsDownload and install the Windows UI Library

  1. Téléchargez Visual Studio 2019 et assurez-vous de choisir la charge de travail Développement pour la plateforme Windows universelle dans le programme d’installation de Visual Studio.Download Visual Studio 2019 and ensure you choose the Universal Windows Platform development Workload in the Visual Studio installer.

  2. Ouvrez un projet existant ou créez un projet à l’aide du modèle Application vide sous Visual C# -> Windows-> Universel, ou le modèle approprié pour la projection de votre langage.Open an existing project, or create a new project using the Blank App template under Visual C# -> Windows -> Universal, or the appropriate template for your language projection.

    Important

    Pour utiliser WinUI 2.5, vous devez définir TargetPlatformVersion >= 10.0.18362.0 et TargetPlatformMinVersion >= 10.0.15063.0 dans les propriétés du projet.To use WinUI 2.5, you must set TargetPlatformVersion >= 10.0.18362.0 and TargetPlatformMinVersion >= 10.0.15063.0 in the project properties.

  3. Dans le volet Explorateur de solutions, cliquez avec le bouton droit sur le nom de votre projet, puis sélectionnez Gérer les packages NuGet.In the Solution Explorer panel, right click on your project name and select Manage NuGet Packages. Sélectionnez l’onglet Parcourir et recherchez Microsoft.UI.Xaml ou WinUI.Select the Browse tab, and search for Microsoft.UI.Xaml or WinUI. Choisissez ensuite les packages NuGet de la bibliothèque d’IU Windows que vous souhaitez utiliser.Then choose which Windows UI Library NuGet Packages you want to use. Le package Microsoft.UI.Xaml contient des fonctionnalités et des contrôles Fluent adaptés à toutes les applications.The Microsoft.UI.Xaml package contains Fluent controls and features suitable for all apps.
    Vous pouvez éventuellement cocher la case « Inclure la version préliminaire » pour voir les dernières préversions qui incluent de nouvelles fonctionnalités expérimentales.You can optionally check "Include prerelease" to see the latest prerelease versions that include experimental new features.

    Capture d’écran du panneau Explorateur de solutions, montrant l’utilisateur cliquant avec le bouton droit sur le projet, et l’option Gérer les packages NuGet mise en évidence.Screenshot of the Solution Explorer panel with the project right-clicked and the Manage NuGet Packages option highlighted.

    Capture d’écran de la boîte de dialogue Gestionnaire de package NuGet, avec l’onglet Parcourir et « winui » dans le champ de recherche.

  4. Ajoutez les ressources de thème d’IU Windows (WinUI) à vos ressources App.xaml.Add the Windows UI (WinUI) Theme Resources to your App.xaml resources. Il existe deux façons de procéder, selon que vous disposez ou non de ressources d’application supplémentaires.There are two ways to do this, depending on whether you have additional application resources.

    a.a. Si vous n’avez pas d’autres ressources d’application, ajoutez <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/> à Application.Resources :If you don't have other application resources, add <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/> to your Application.Resources:

    <Application>
        <Application.Resources>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
        </Application.Resources>
    </Application>
    

    b.b. Sinon, si vous avez plusieurs jeux de ressources d’application, ajoutez <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/> à Application.Resources.MergedDictionaries :Otherwise, if you have more than one set of application resources, add <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/> to Application.Resources.MergedDictionaries:

    <Application>
        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>
    </Application>
    

    Important

    L’ordre des ressources ajoutées à ResourceDictionary affecte l’ordre dans lequel elles sont appliquées.The order of resources added to a ResourceDictionary affects the order in which they are applied. Le dictionnaire XamlControlsResources remplace de nombreuses clés de ressources par défaut et doit donc être ajouté à Application.Resources d’abord afin qu’il ne remplace pas d’autres styles ou ressources personnalisés dans votre application.The XamlControlsResources dictionary overrides many default resource keys and should therefore be added to Application.Resources first so that it doesn't override any other custom styles or resources in your app. Pour plus d’informations sur le chargement des ressources, consultez Références aux ressources ResourceDictionary et XAML.For more information on resource loading, see ResourceDictionary and XAML resource references.

  5. Ajoutez une référence au kit de ressources dans les pages XAML et vos pages code-behind.Add a reference to the toolkit to XAML pages and your code-behind pages.

    • Dans votre page XAML, ajoutez une référence en haut de votre page.In your XAML page, add a reference at the top of your page

      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
    • Dans votre code (si vous souhaitez utiliser les noms de types sans les qualifier), vous pouvez ajouter une directive using.In your code (if you want to use the type names without qualifying them), you can add a using directive.

      using MUXC = Microsoft.UI.Xaml.Controls;
      

Étapes supplémentaires pour un projet C++/WinRTAdditional steps for a C++/WinRT project

Quand vous ajoutez un package NuGet à un projet C++/WinRT, les outils génèrent un ensemble d’en-têtes de projection dans le dossier \Generated Files\winrt de votre projet.When you add a NuGet package to a C++/WinRT project, the tooling generates a set of projection headers in your project's \Generated Files\winrt folder. Pour placer ces fichiers d’en-têtes dans votre projet et permettre la résolution des références vers ces nouveaux types, vous pouvez les inclure dans votre fichier d’en-têtes précompilé (généralement pch.h).To bring those headers files into your project, so that references to those new types resolve, you can go into your precompiled header file (typically pch.h) and include them. Voici un exemple qui contient les fichiers d’en-têtes générés pour le package Microsoft.UI.Xaml.Below is an example that includes the generated header files for the Microsoft.UI.Xaml package.

// pch.h
...
#include "winrt/Microsoft.UI.Xaml.Automation.Peers.h"
#include "winrt/Microsoft.UI.Xaml.Controls.Primitives.h"
#include "winrt/Microsoft.UI.Xaml.Media.h"
#include "winrt/Microsoft.UI.Xaml.XamlTypeInfo.h"
...

Pour obtenir une procédure pas à pas complète sur l’ajout d’une prise en charge simple de la bibliothèque d’IU Windows à un projet C++/WinRT, consultez Exemple de bibliothèque d’IU Windows C++/WinRT simple.For a full, step-by-step walkthrough of adding simple support for the Windows UI Library to a C++/WinRT project, see A simple C++/WinRT Windows UI Library example.

Contribution à la bibliothèque d’IU WindowsContributing to the Windows UI Library

WinUI est un projet open source hébergé sur GitHub.WinUI is an open source project hosted on GitHub.

Vous pouvez nous faire part de vos rapports de bogues, demandes de fonctionnalités et contributions de code de la Communauté dans le dépôt de la bibliothèque d’interface utilisateur Windows.We welcome bug reports, feature requests and community code contributions in the Windows UI Library repo.

Autres ressourcesOther resources

Si vous débutez avec UWP, nous vous recommandons de consulter les pages Prise en main du développement UWP sur le portail des développeurs.If you're new to UWP, then we recommend that you visit the Getting Started with UWP Development pages on the Developer portal.