Bieži izmantotajā Wpf izstrādē mēs ieviešam interfeisu INotifyPropertyChanged ViewModel, lai sasniegtu mērķi paziņot par lietotāja interfeisa izmaiņām, aktivizējot notikumu PropertyChanged.
MVVMLight sistēmā šeit definētais ViewModel ir mantots no ViewModelBase, kas ir iekapsulēts MvvmLight ietvarā, un tajā ir ieviests interfeiss INotifyPropertyChanged.
Tāpēc, definējot rekvizītu ViewModel, mums ir jāizsauc tikai RaisePropertyChanged(PropertyName), lai paziņotu par rekvizīta izmaiņām.
Notikumi ir vissvarīgākais veids, kā lietotāja saskarne mijiedarboties ar fona kodu WPF / SL lietojumprogrammās, un atšķirībā no tradicionālajām metodēm, notikumi tiek apstrādāti galvenokārt, saistot komandas mvvm, tāpēc, lai saprastu, kā notikumi tiek apstrādāti mvvm, vispirms ir jāzina, kā komandas darbojas.
1. Komanda RelayCommand
WPF/SL komandas tiek izveidotas, ieviešot ICommand interfeisu. ICommand atklāj divas metodes (Execute un CanExecute) un notikumu (CanExecuteChanged). Execute izpilda ar komandu saistīto darbību. CanExecute nosaka, vai komandu var izpildīt pašreizējā komandas mērķī. Klase, kas ievieš ICommand interfeisu MvvmLight, ir RelayCommand, kas inicializē Execute un CanExecute metodes caur konstruktoru, tāpēc konstruktors nodod delegāta tipa parametrus, un Execute un CanExecute izpilda deleģētās metodes, un attiecīgais RelayCommand kods ir šāds:
2. Comand atribūta saistīšana
Vienkāršs piemērs: tekstlodziņš un poga, tekstlodziņš ir pieejams tikai tad, ja saturs nav tukšs, un uz pieejamās pogas tiek noklikšķināts, lai parādītu tekstlodziņa saturu.
ViewMode:
|