Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20694|Antwoord: 0

[WPF] WPF RelayCommand

[Link kopiëren]
Geplaatst op 18-12-2017 21:16:49 | | |

In veelgebruikte WPF-ontwikkeling implementeren we de INotifyPropertyChanged-interface in de ViewModel om het doel te bereiken om UI-wijzigingen te melden door het PropertyChanged-event te activeren.

In het MVVMLight-framework is het ViewModel dat we hier definiëren overgenomen van ViewModelBase, dat is ingekapseld in het MvvmLight-framework, en het heeft de INotifyPropertyChanged-interface geïmplementeerd.

Daarom hoeven we bij het definiëren van de ViewModel-eigenschap alleen RaisePropertyChanged(PropertyName) aan te roepen om de eigenschapswijziging te melden.



Events zijn de belangrijkste manier waarop de UI met achtergrondcode in WPF/SL-applicaties kan interageren, en in tegenstelling tot traditionele methoden worden events voornamelijk afgehandeld door te koppelen aan commando's in mvvm, dus om te begrijpen hoe events in mvvm worden behandeld, moet je eerst bekend zijn met hoe commando's werken.

1. RelayCommand-commando

WPF/SL-commando's worden gemaakt door de ICommand-interface te implementeren. ICommand maakt twee methoden beschikbaar (Execute en CanExecute) en een event (CanExecuteChanged). Uitvoeren voert de actie uit die aan het commando hoort. CanExecute bepaalt of een commando kan worden uitgevoerd op het huidige commandodoel. De klasse die de ICommand-interface in MvvmLight implementeert is RelayCommand, die de Execute- en CanExey-methoden via de constructor initialiseert, zodat de constructor de parameters van het delegatetype doorgeeft, en Execute en CanExecute de gedelegeerde methoden uitvoeren, en de relevante code van RelayCommand is als volgt:


2. Comand-attribuutbinding

Eenvoudig voorbeeld: een tekstdoos en een knop, de tekstdoos is alleen beschikbaar als de inhoud niet leeg is, en de beschikbare knop wordt aangeklikt om de inhoud van de tekstdoos weer te geven.




ViewMode:







Vorig:android-TableLayout evenals het gebruik van TableRow
Volgend:Het hoofdvenster opent wanneer het WPF-inlogvenster wordt gesloten
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com