|
|
Zverejnené 18. 12. 2017 21:16:49
|
|
|

Pri bežne používanom vývoji Wpf implementujeme rozhranie INotifyPropertyChanged v ViewModel, aby sme dosiahli účel oznamovania zmien používateľského rozhrania spustením udalosti PropertyChanged.
V rámci MVVMLight je ViewModel, ktorý tu definujeme, zdedený z ViewModelBase, ktorý je zapuzdrený v rámci MvvmLight, a implementoval rozhranie INotifyPropertyChanged.
Preto pri definovaní vlastnosti ViewModel stačí zavolať RaisePropertyChanged(PropertyName) na oznámenie zmeny vlastnosti.
Udalosti sú najdôležitejším spôsobom, akým UI interaguje s pozadím kódu v aplikáciách WPF/SL, a na rozdiel od tradičných metód sa udalosti spracovávajú hlavne viazaním na príkazy v mvvm, takže aby ste pochopili, ako sa udalosti spracovávajú v mvvm, musíte najprv poznať, ako príkazy fungujú.
1. Príkaz RelayCommand
Príkazy WPF/SL sa vytvárajú implementáciou rozhrania ICommand. ICommand sprístupňuje dve metódy (Execute a CanExecute) a udalosť (CanExecuteChanged). Execute vykoná akciu spojenú s príkazom. CanExecute určuje, či je možné príkaz vykonať na aktuálnom cieľovom príkaze. Trieda, ktorá implementuje rozhranie ICommand v MvvmLight, je RelayCommand, ktorá inicializuje metódy Execute a CanExecute cez konštruktor, takže konštruktor odovzdáva parametre delegovaného typu a Execute a CanExecute delegované metódy, pričom príslušný kód RelayCommand je nasledovný:
2. Viazanie atribútov Comand
Jednoduchý príklad: TextBox a tlačidlo, TextBox je dostupný len vtedy, keď obsah nie je prázdny, a kliknutím na dostupné tlačidlo sa zobrazí obsah TextBoxu.
ViewMode:
|
Predchádzajúci:android-TableLayout, ako aj použitie TableRowBudúci:Hlavné okno sa otvorí, keď je prihlasovacie okno WPF zatvorené
|