.net Maui Mvvm Relaycommand

4 min read Jun 04, 2024
.net Maui Mvvm Relaycommand

Découverte de .NET MAUI MVVM avec RelayCommand

.NET MAUI (Multi-platform App UI) est un framework puissant pour le développement d'applications multiplateformes modernes. MVVM (Model-View-ViewModel) est un pattern d'architecture populaire pour la conception d'applications, et RelayCommand est un outil précieux pour implémenter des commandes dans un environnement MVVM.

Qu'est-ce que RelayCommand ?

RelayCommand est une classe qui facilite la création et la gestion de commandes dans les applications MVVM. Elle encapsule la logique de votre commande, ce qui vous permet de séparer clairement votre vue de votre logique métier. En utilisant RelayCommand, vous pouvez :

  • Exécuter une méthode lorsqu'une commande est déclenchée.
  • Contrôler l'activation et la désactivation d'une commande en fonction de l'état de votre application.
  • Gérer les exceptions qui pourraient survenir pendant l'exécution d'une commande.

Intégration de RelayCommand dans .NET MAUI

1. Installez la bibliothèque:

Commencez par installer la bibliothèque CommunityToolkit.Mvvm dans votre projet .NET MAUI. Vous pouvez le faire en utilisant le gestionnaire de paquets NuGet.

Install-Package CommunityToolkit.Mvvm

2. Implémentez une commande:

Dans votre ViewModel, vous pouvez créer une nouvelle instance de RelayCommand et associer une méthode à son action.

public class MyViewModel : ViewModelBase
{
    private RelayCommand _myCommand;

    public RelayCommand MyCommand => _myCommand ??= new RelayCommand(ExecuteMyCommand);

    private void ExecuteMyCommand()
    {
        // Logique de votre commande
    }
}

3. Liez la commande à votre vue:

Dans votre fichier XAML, utilisez le binding pour associer la commande à un élément d'interface utilisateur.

Exemple concret

Prenons un exemple simple d'une application .NET MAUI avec une commande pour afficher un message.

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            BindingContext = new MyViewModel();
        }
    }

    public class MyViewModel : ViewModelBase
    {
        private RelayCommand _showMessageBoxCommand;

        public RelayCommand ShowMessageBoxCommand => _showMessageBoxCommand ??= new RelayCommand(ExecuteShowMessageBoxCommand);

        private void ExecuteShowMessageBoxCommand()
        {
            // Afficher un message
            Application.Current.MainPage.DisplayAlert("Titre", "Message", "OK");
        }
    }
}

Dans cet exemple, la commande ShowMessageBoxCommand est liée au bouton. Lorsque l'utilisateur clique sur le bouton, la commande est déclenchée, ce qui exécute la méthode ExecuteShowMessageBoxCommand et affiche une boîte de dialogue.

Conclusion

RelayCommand est un outil indispensable pour les développeurs .NET MAUI utilisant le pattern MVVM. Il simplifie la gestion des commandes et permet une séparation claire entre la vue et la logique métier. En utilisant RelayCommand, vous pouvez créer des applications .NET MAUI plus robustes, plus faciles à maintenir et plus faciles à tester.

Related Post