Afficher une fenêtre contextuelle depuis un ViewModel dans .NET MAUI
Introduction
.NET MAUI offre une façon élégante et efficace de gérer les fenêtres contextuelles (popups) dans vos applications. Dans cet article, nous allons explorer comment afficher une fenêtre contextuelle directement à partir de votre ViewModel, en utilisant la puissance de la liaison de données et des commandes MVVM.
Pourquoi utiliser un ViewModel ?
Utiliser un ViewModel pour gérer l'affichage des fenêtres contextuelles offre plusieurs avantages :
- Séparation des préoccupations: Le ViewModel se concentre sur la logique métier et les données, tandis que la vue gère la présentation.
- Testabilité: Vous pouvez facilement tester votre ViewModel sans dépendre de l'interface utilisateur.
- Réutilisation: Vous pouvez réutiliser le même ViewModel dans différentes vues.
Implémentation
Voici les étapes pour afficher une fenêtre contextuelle à partir de votre ViewModel :
-
Créer un ViewModel
public class MyViewModel : ObservableObject { public ICommand ShowPopupCommand { get; } public MyViewModel() { ShowPopupCommand = new Command(ShowPopup); } private async void ShowPopup() { // Créer une instance de votre popup var popup = new MyPopup(); // Afficher la popup await Shell.Current.ShowModalAsync(popup); } }
-
Créer une fenêtre contextuelle (Popup)
public partial class MyPopup : ContentPage { public MyPopup() { InitializeComponent(); } }
-
Lier la commande au ViewModel dans la vue
-
Gérer la fermeture de la popup
Vous pouvez utiliser l'événement
Closed
de la popup pour exécuter du code lorsque la popup est fermée.public partial class MyPopup : ContentPage { public MyPopup() { InitializeComponent(); Closed += OnPopupClosed; } private void OnPopupClosed(object sender, EventArgs e) { // Exécuter du code lorsque la popup est fermée } }
Conclusion
En utilisant des ViewModels et des commandes, vous pouvez afficher des fenêtres contextuelles de manière propre et efficace dans .NET MAUI. Cela vous permet de maintenir un code bien organisé, de le rendre plus testable et de favoriser la réutilisation du code.
N'oubliez pas de consulter la documentation officielle de .NET MAUI pour plus d'informations sur les fenêtres contextuelles et les autres fonctionnalités disponibles.