Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 20694|Svar: 0

[WPF] WPF RelayCommand

[Kopier link]
Opslået på 18/12/2017 21.16.49 | | |

I almindeligt anvendt Wpf-udvikling implementerer vi INotifyPropertyChanged-grænsefladen i ViewModel for at opnå formålet med at underrette UI-ændringer ved at udløse PropertyChanged-hændelsen.

I MVVMLight-rammeværket er ViewModel, vi definerer her, arvet fra ViewModelBase, som er indkapslet i MvvmLight-rammeværket, og det har implementeret INotifyPropertyChanged-grænsefladen.

Derfor behøver vi, når vi definerer ViewModel-egenskaben, blot at kalde RaisePropertyChanged(PropertyName) for at underrette ændringen i egenskaben.



Events er den vigtigste måde for UI'en at interagere med baggrundskode i WPF/SL-applikationer, og i modsætning til traditionelle metoder håndteres events hovedsageligt ved at binde til kommandoer i mvvm, så for at forstå, hvordan events håndteres i mvvm, skal du først være bekendt med, hvordan kommandoer fungerer.

1. RelayCommand-kommando

WPF/SL-kommandoer oprettes ved at implementere ICommand-grænsefladen. ICommand eksponerer to metoder (Execute og CanExecute) og en begivenhed (CanExecuteChanged). Udfør udfører handlingen, der er forbundet med kommandoen. CanExecute afgør, om en kommando kan udføres på det aktuelle kommandomål. Klassen, der implementerer ICommand-grænsefladen i MvvmLight, er RelayCommand, som initialiserer Execute- og CanExekver-metoderne gennem konstruktøren, så konstruktøren sender parametrene for delegattypen ind, og Execute og CanExecute udfører de delegerede metoder, og den relevante kode til RelayCommand er som følger:


2. Comand-attributbinding

Simpelt eksempel: en TextBox og en Button, TextBox er kun tilgængelig, når indholdet ikke er tomt, og den tilgængelige knap klikkes for at vise TextBox-indholdet.




ViewMode:







Tidligere:android-TableLayout samt brugen af TableRow
Næste:Hovedvinduet åbner, når WPF-loginvinduet lukkes
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com