Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique vous guide tout au long du processus d’ajout de la prise en charge de base du Bibliothèque d’interface utilisateur Windows (WinUI) à votre projet UWP C++/WinRT. Plus précisément, cette rubrique traite de WinUI 2, qui concerne les applications UWP. Pour les applications de bureau, il existe WinUI 3. Incidemment, WinUI est lui-même écrit en C++/WinRT.
Important
Pour les applications de bureau, le SDK d'application Windows fournit Bibliothèque d’interface utilisateur Windows (WinUI) 3. WinUI 3 n’est pas destiné à fonctionner avec la procédure pas à pas de cette rubrique, qui concerne UWP. Consultez également Migrer d’UWP vers le SDK d'application Windows.
Note
Le kit de ressources Bibliothèque d’interface utilisateur Windows (WinUI) est disponible en tant que packages NuGet que vous pouvez ajouter à n'importe quel projet existant ou nouveau à l'aide de Visual Studio, comme nous le verrons dans cette rubrique. Pour plus d’informations sur l’arrière-plan, la configuration et le support, consultez Prise en main du Bibliothèque d’interface utilisateur Windows.
Créer une application vide (HelloWinUICppWinRT)
Dans Visual Studio, créez un projet UWP à l’aide du modèle de projet Application vide (C++/WinRT) (pour les applications de bureau WinUI 3, utilisez le modèle Application vide, Empaqueté (WinUI 3 dans Desktop). Assurez-vous que vous utilisez le modèle (C++/WinRT), et non l'un (universal Windows).
Définissez le nom du nouveau projet sur HelloWinUICppWinRT et (afin que votre structure de dossiers corresponde à la procédure pas à pas) décochez Placer la solution et le projet dans le même répertoire.
Installez le package NuGet Microsoft.UI.Xaml
Cliquez sur Project>Manage des packages NuGet...>Parcourez, tapez ou collez Microsoft. UI. Xaml dans la zone de recherche, sélectionnez l'élément dans les résultats de recherche, puis cliquez sur Installer pour installer le package dans votre project (vous verrez également une invite de contrat de licence). Veillez à installer uniquement le Microsoft. Interface utilisateur. Package Xaml, et non Microsoft. Interface utilisateur. Xaml.Core.Direct.
Déclarer des ressources d’application WinUI
Ouvrez App.xaml et collez le balisage suivant entre les balises d’ouverture et de fermeture existantes de l’application .
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
Ajouter un contrôle WinUI à MainPage
Ensuite, ouvrez MainPage.xaml. Dans la balise page d’ouverture existante, il existe certaines déclarations d’espace de noms xml. Ajoutez la déclaration de l’espace de noms XML xmlns:muxc="using:Microsoft.UI.Xaml.Controls". Ensuite, collez le balisage suivant entre les balises d’ouverture et de fermeture existantes de page , en remplaçant l’élément StackPanel existant.
<muxc:NavigationView PaneTitle="Welcome">
<TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>
Modifier pch.h, si nécessaire
Lorsque vous ajoutez un package NuGet à un projet C++/WinRT (tel que le package Microsoft.UI.Xaml, que vous avez ajouté précédemment), puis générez le projet, les outils génèrent un ensemble de fichiers d’en-tête de projection dans le dossier \Generated Files\winrt de votre projet. Si vous avez suivi la procédure pas à pas, vous disposez maintenant d’un \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt dossier. Pour placer ces en-têtes dans votre projet, afin que les références à ces nouveaux types soient résolues, vous pouvez accéder à votre fichier d’en-tête précompilé (généralement pch.h) et les inclure.
Vous devez inclure uniquement les en-têtes correspondant aux types que vous utilisez. Mais voici un exemple qui inclut tous les fichiers d'en-tête générés pour le Microsoft. Interface utilisateur. Package Xaml.
// pch.h
...
#include "winrt/Microsoft.UI.Xaml.Automation.Peers.h"
#include "winrt/Microsoft.UI.Xaml.Controls.h"
#include "winrt/Microsoft.UI.Xaml.Controls.Primitives.h"
#include "winrt/Microsoft.UI.Xaml.Media.h"
#include "winrt/Microsoft.UI.Xaml.XamlTypeInfo.h"
...
Modifier MainPage.cpp
Dans MainPage.cpp, supprimez le code à l’intérieur de votre implémentation de MainPage ::ClickHandler, car myButton n’est plus dans le balisage XAML.
Vous pouvez maintenant générer et exécuter le projet.
Rubriques connexes
Windows developer