Sageli kasutatavas Wpf arenduses rakendame INotifyPropertyChanged liidese ViewModelis, et saavutada UI muudatuste teavitamise eesmärk, käivitades PropertyChanged sündmuse.
MVVMLight raamistikus on siin defineeritav ViewModel pärit ViewModelBase'ist, mis on kapseldatud MvvmLight raamistikku ning on rakendanud INotifyPropertyChanged liidese.
Seega, ViewModel omaduse määratlemisel, tuleb ainult kutsuda RaisePropertyChanged(PropertyName), et teavitada omaduse muutust.
Sündmused on kõige olulisem viis, kuidas kasutajaliides saab WPF/SL rakendustes taustkoodiga suhelda, ning erinevalt traditsioonilistest meetoditest haldatakse sündmusi peamiselt mvvm-i käskudega sidudes, seega et mvvm-is sündmuste käsitlemise mõistmiseks pead esmalt tundma, kuidas käsud töötavad.
1. RelayCommand käsk
WPF/SL käsud luuakse ICommandi liidese rakendamisel. ICommand avab kaks meetodit (Execute ja CanExecute) ning ühe sündmuse (CanExecuteChanged). Execute täidab käsuga seotud toimingu. CanExecute määrab, kas käsku saab täita praegusel käsu sihtmärgil. Klass, mis rakendab ICommand-liidest MvvmLightis, on RelayCommand, mis initsialiseerib Execute ja CanExecute meetodid konstruktori kaudu, nii et konstruktor edastab delegaadi tüübi parameetrid, Execute ja CanExecute täidavad delegeeritud meetodid, ning RelayCommandi asjakohane kood on järgmine:
2. Comandi atribuudi sidumine
Lihtne näide: TextBox ja nupp, TextBox on saadaval ainult siis, kui sisu pole tühi, ning saadaval nuppu vajutatakse, et näidata TextBoxi sisu.
ViewMode:
|