---
title: 'Afficher des Popups avec .NET MAUI et le .NET MAUI Community Toolkit'
description: "Créer des popups de confirmation dans .NET MAUI avec le Community Toolkit. Installation NuGet, configuration et démo d'une popup Oui/Non en C#."
pubDate: 2024-03-23
family: 'dotnet-csharp'
tags: []
heroImage: /images/afficher-des-popups-avec-net-maui-et-le-net-maui-community-toolkit.webp
videoUrl: 'https://youtu.be/WCSVFgSEvNk'
---

.NET MAUI permet de créer des interfaces natives multiplateformes en C#. Pour ajouter des fenêtres contextuelles de confirmation, le .NET MAUI Community Toolkit simplifie considérablement l'implémentation.

## Le .NET MAUI Community Toolkit

Le Community Toolkit est une bibliothèque open source qui étend les fonctionnalités natives de .NET MAUI. Elle propose des popups, des animations, des convertisseurs de valeurs et des comportements prêts à l'emploi. Pour l'installer, on passe par le gestionnaire NuGet de Visual Studio 2022 :

Rechercher `CommunityToolkit.Maui`, puis installer la version compatible avec .NET 8.

## Configuration initiale

Après installation, enregistrer le toolkit dans le builder applicatif dans `MauiProgram.cs` :

```csharp
builder.UseMauiApp<App>().UseMauiCommunityToolkit();
```

Ne pas oublier la directive `using CommunityToolkit.Maui;` en tête de fichier.

## Créer une popup de confirmation

On crée un fichier `.xaml` qui hérite de la classe `Popup` du toolkit. Dans le fichier XAML, on ajoute le namespace du toolkit :

```xml
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
```

La popup contient un layout vertical avec un message et deux boutons `Oui` / `Non` dans un `HorizontalStackLayout` centré.

## Afficher la popup depuis le code C#

La méthode déclenchant la popup doit être `async` :

```csharp
private async void OnButtonClicked(object sender, EventArgs e)
{
    await this.ShowPopupAsync(new ConfirmationPopup());
}
```

Cette méthode bloque l'exécution jusqu'à ce que l'utilisateur ferme la popup. Il est possible de retourner un résultat (Oui vs Non) via le mécanisme `Close(result)` du toolkit.

## Pour aller plus loin

La gestion des résultats de popup se combine parfaitement avec les patterns MVVM de .NET MAUI. Retrouvez la démo complète sur [YouTube](https://youtu.be/WCSVFgSEvNk).
