No desenvolvimento Wpf comumente utilizado, implementamos a interface INotifyPropertyChanged no ViewModel para alcançar o propósito de notificar mudanças na interface acionando o evento PropertyChanged.
No framework MVVMLight, o ViewModel que definimos aqui é herdado do ViewModelBase, que está encapsulado no framework MvvmLight, e implementou a interface INotifyPropertyChanged.
Portanto, ao definir a propriedade ViewModel, basta chamar RaisePropertyChanged(PropertyName) para notificar a mudança da propriedade.
Eventos são a forma mais importante de a interface interagir com código em segundo plano em aplicações WPF/SL e, ao contrário dos métodos tradicionais, os eventos são tratados principalmente vinculando comandos no mvvm, então, para entender como os eventos são tratados no mvvm, você deve primeiro estar familiarizado com o funcionamento dos comandos.
1. Comando RelayCommand
Os comandos WPF/SL são criados implementando a interface ICommand. ICommand expõe dois métodos (Execute e CanExecute) e um evento (CanExecuteChanged). Executar executa a ação associada ao comando. O CanExecute determina se um comando pode ser executado no alvo atual do comando. A classe que implementa a interface ICommand no MvvmLight é RelayCommand, que inicializa os métodos Execute e CanExecute através do construtor, de modo que o construtor passa os parâmetros do tipo de delegado, e os métodos delegados Execute e CanExecute executam, e o código relevante do RelayCommand é o seguinte:
2. Vinculação de atributos de comand
Exemplo simples: uma Caixa de Texto e um Botão, a Caixa de Texto só está disponível quando o conteúdo não está vazio, e o Botão disponível é clicado para mostrar o conteúdo da Caixa de Texto.
ViewMode:
|