Yleisesti käytetyssä Wpf-kehityksessä toteutamme INotifyPropertyChanged-rajapinnan ViewModeliin, jotta käyttöliittymän muutokset voidaan ilmoittaa käynnistämällä PropertyChanged-tapahtuma.
MVVMLight-kehyksessä määrittelemämme ViewModel on peritty ViewModelBasesta, joka on kapseloitu MvvmLight-kehykseen, ja se on toteuttanut INotifyPropertyChanged-rajapinnan.
Siksi ViewModel-ominaisuutta määritettäessä tarvitsee vain kutsua RaisePropertyChanged(PropertyName) ilmoittaaksemme ominaisuuden muutoksesta.
Tapahtumat ovat tärkein tapa, jolla käyttöliittymä voi olla vuorovaikutuksessa taustakoodin kanssa WPF/SL-sovelluksissa, ja toisin kuin perinteiset menetelmät, tapahtumat hoidetaan pääasiassa sitomalla komennoihin mvvm:ssä, joten ymmärtääksesi, miten tapahtumat käsitellään mvvm:ssä, sinun täytyy ensin tuntea, miten komennot toimivat.
1. RelayCommand-komento
WPF/SL-komennot luodaan toteuttamalla ICommand-rajapinta. ICommand paljastaa kaksi menetelmää (Execute ja CanExecute) sekä tapahtuman (CanExecuteChanged). Suorita suorittaa komentoon liittyvän toiminnon. CanExecute määrittää, voidaanko komento suorittaa nykyisellä komentokohteella. Luokka, joka toteuttaa ICommand-rajapinnan MvvmLightissa, on RelayCommand, joka käynnistää Execute- ja CanExecute-metodit konstruktorin kautta, jolloin rakentaja välittää delegaattityypin parametrit, ja Execute sekä CanExecute suorittavat delegoidut metodit, ja RelayCommandin asiaankuuluva koodi on seuraava:
2. Comand-attribuuttisidonta
Yksinkertainen esimerkki: TextBox ja Button, TextBox on käytettävissä vain, kun sisältö ei ole tyhjä, ja saatavilla olevaa painiketta klikataan näyttämään TextBoxin sisältö.
ViewMode:
|