Dans le développement Wpf couramment utilisé, nous implémentons l’interface INotifyPropertyChanged dans le ViewModel afin d’atteindre le but de notifier les changements de l’interface utilisateur en déclenchant l’événement PropertyChanged.
Dans le cadre MVVMLight, le ViewModel que nous définissons ici est hérité de ViewModelBase, qui est encapsulé dans le cadre MvvmLight, et il a implémenté l’interface INotifyPropertyChanged.
Par conséquent, lors de la définition de la propriété ViewModel, il suffit d’appeler RaisePropertyChanged(PropertyName) pour notifier le changement de propriété.
Les événements sont la manière la plus importante pour l’interface d’interagir avec le code en arrière-plan dans les applications WPF/SL, et contrairement aux méthodes traditionnelles, les événements sont principalement gérés en liant des commandes dans mvvm, donc pour comprendre comment les événements sont gérés dans mvvm, il faut d’abord bien comprendre le fonctionnement des commandes.
1. Commandement RelayCommand
Les commandes WPF/SL sont créées en implémentant l’interface ICommand. ICommand expose deux méthodes (Execute et CanExecute) et un événement (CanExecuteChanged). Exécuter exécute l’action associée à la commande. CanExecute détermine si une commande peut être exécutée sur la cible de commande actuelle. La classe qui implémente l’interface ICommand dans MvvmLight est RelayCommand, qui initialise les méthodes Execute et CanExecute via le constructeur, afin que le constructeur transmette les paramètres du type de délégué, et que les méthodes déléguées Execute et CanExecute exécutent, et le code pertinent de RelayCommand est le suivant :
2. Liaison par attribut Comand
Exemple simple : une boîte de texte et un bouton, la boîte de texte n’est disponible que lorsque le contenu n’est pas vide, et le bouton disponible est cliqué pour afficher le contenu de la boîte de texte.
ViewMode:
|