En el desarrollo Wpf comúnmente utilizado, implementamos la interfaz INotifyPropertyChanged en el ViewModel para lograr el propósito de notificar cambios en la interfaz activando el evento PropertyChanged.
En el marco MVVMLight, el ViewModel que definimos aquí se hereda de ViewModelBase, que está encapsulado en el marco MvvmLight, y ha implementado la interfaz INotifyPropertyChanged.
Por lo tanto, al definir la propiedad ViewModel, solo necesitamos llamar a RaisePropertyChanged(PropertyName) para notificar el cambio de propiedad.
Los eventos son la forma más importante para que la interfaz interactúe con el código en segundo plano en aplicaciones WPF/SL, y a diferencia de los métodos tradicionales, los eventos se gestionan principalmente vinculando a comandos en mvvm, así que para entender cómo se gestionan los eventos en mvvm, primero debes familiarizarte con cómo funcionan los comandos.
1. Mando de Relay Command
Los comandos WPF/SL se crean implementando la interfaz ICommand. ICommand expone dos métodos (Ejecutar y CanEjecutar) y un evento (CanExecuteChanged). Ejecutar ejecuta la acción asociada al comando. CanExecute determina si un comando puede ejecutarse en el destino actual del comando. La clase que implementa la interfaz ICommand en MvvmLight es RelayCommand, que inicializa los métodos Execute y CanExecute a través del constructor, de modo que el constructor introduce los parámetros del tipo de delegado, y los métodos delegados Execute y CanExecute son los que ejecutan, y el código relevante de RelayCommand es el siguiente:
2. Vinculación de atributos de comand
Ejemplo sencillo: un Cuadro de Texto y un Botón, el Cuadro de Texto solo está disponible cuando el contenido no está vacío, y se hace clic en el Botón disponible para mostrar el contenido del Cuadro de Texto.
ViewMode:
|