.net Maui Show Popup From Viewmodel

3 min read Jun 04, 2024
.net Maui Show Popup From Viewmodel

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 :

  1. 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); 
        }
    }
    
  2. Créer une fenêtre contextuelle (Popup)

    public partial class MyPopup : ContentPage
    {
        public MyPopup()
        {
            InitializeComponent();
        }
    }
    
  3. Lier la commande au ViewModel dans la vue

    
        
  4. 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.

Related Post


Featured Posts