Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20694|Svare: 0

[WPF] WPF RelayCommand

[Kopier lenke]
Publisert på 18.12.2017 21:16:49 | | |

I vanlig brukt WPF-utvikling implementerer vi INotifyPropertyChanged-grensesnittet i ViewModel for å oppnå formålet med å varsle UI-endringer ved å utløse PropertyChanged-hendelsen.

I MVVMLight-rammeverket er ViewModel vi definerer her arvet fra ViewModelBase, som er innkapslet i MvvmLight-rammeverket, og det har implementert INotifyPropertyChanged-grensesnittet.

Derfor, når vi definerer ViewModel-egenskapen, trenger vi bare å kalle RaisePropertyChanged(PropertyName) for å varsle egenskapsendringen.



Hendelser er den viktigste måten for brukergrensesnittet å samhandle med bakgrunnskode i WPF/SL-applikasjoner, og i motsetning til tradisjonelle metoder håndteres hendelser hovedsakelig ved å binde til kommandoer i mvvm, så for å forstå hvordan hendelser håndteres i mvvm, må du først være kjent med hvordan kommandoer fungerer.

1. RelayCommand-kommando

WPF/SL-kommandoer opprettes ved å implementere ICommand-grensesnittet. ICommand eksponerer to metoder (Execute og CanExecute) og en hendelse (CanExecuteChanged). Execute utfører handlingen knyttet til kommandoen. CanExecute avgjør om en kommando kan utføres på det nåværende kommandomålet. Klassen som implementerer ICommand-grensesnittet i MvvmLight er RelayCommand, som initialiserer metodene Execute og CanExecute gjennom konstruktøren, slik at konstruktøren sender inn parameterne til delegattypen, og Execute og CanExecute utfører de delegerte metodene, og den relevante koden til RelayCommand er som følger:


2. Comand-attributtbinding

Enkelt eksempel: en tekstboks og en knapp, tekstboksen er kun tilgjengelig når innholdet ikke er tomt, og den tilgjengelige knappen klikkes på for å vise innholdet i tekstboksen.




ViewMode:







Foregående:android-TableLayout samt bruk av TableRow
Neste:Hovedvinduet åpnes når WPF-innloggingsvinduet lukkes
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com