Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20694|Odgovoriti: 0

[WPF] WPF RelayCommand

[Kopiraj povezavo]
Objavljeno na 18. 12. 2017 21:16:49 | | |

Pri pogosto uporabljenem razvoju Wpf implementiramo vmesnik INotifyPropertyChanged v ViewModelu, da dosežemo namen obveščanja o spremembah uporabniškega vmesnika s sprožitvijo dogodka PropertyChanged.

V okviru MVVMLight je ViewModel, ki ga tukaj definiramo, podedovan iz ViewModelBase, ki je enkapsuliran v okviru MvvmLight, in je implementiral vmesnik INotifyPropertyChanged.

Zato moramo pri definiranju lastnosti ViewModel poklicati le RaisePropertyChanged(PropertyName), da obvestimo o spremembi lastnosti.



Dogodki so najpomembnejši način interakcije uporabniškega vmesnika z ozadno kodo v aplikacijah WPF/SL, in za razliko od tradicionalnih metod se dogodki večinoma obravnavajo z vezavo na ukaze v mvvm, zato morate za razumevanje, kako se dogodki obravnavajo v mvvm, najprej poznati, kako ukazi delujejo.

1. Poveljstvo RelayCommand

Ukazi WPF/SL se ustvarjajo z implementacijo vmesnika ICommand. ICommand omogoča dve metodi (Execute in CanExecute) ter dogodek (CanExecuteChanged). Execute izvede dejanje, povezano z ukazom. CanExecute določa, ali je ukaz mogoče izvesti na trenutnem cilju ukaza. Razred, ki implementira ICommand vmesnik v MvvmLight, je RelayCommand, ki inicializira metode Execute in CanExecute preko konstruktorja, tako da konstruktor posreduje parametre tipa delegate, Execute in CanExecute pa delegirane metode, ustrezna koda RelayCommand pa je naslednja:


2. Vezava atributov Comand

Preprost primer: TextBox in gumb, TextBox je na voljo le, ko vsebina ni prazna, in kliknemo na gumb TextBox za prikaz vsebine TextBoxa.




ViewMode:







Prejšnji:android-TableLayout ter uporaba TableRow
Naslednji:Glavno okno se odpre, ko je WPF prijavno okno zaprto
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com