Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20694|Odpowiedź: 0

[WPF] WPF RelayCommand

[Skopiuj link]
Opublikowano 18.12.2017 21:16:49 | | |

W powszechnie używanym rozwoju Wpf implementujemy interfejs INotifyPropertyChanged w ViewModel, aby osiągnąć cel powiadomienia o zmianach interfejsu poprzez wywołanie zdarzenia PropertyChanged.

W frameworku MVVMLight ViewModel, który tu definiujemy, jest dziedziczony z ViewModelBase, który jest zamknięty w frameworku MvvmLight i zaimplementował interfejs INotifyPropertyChanged.

Dlatego przy definiowaniu właściwości ViewModel wystarczy wywołać RaisePropertyChanged(PropertyName), aby powiadomić o zmianie właściwości.



Zdarzenia są najważniejszym sposobem interakcji UI z kodem tła w aplikacjach WPF/SL, a w przeciwieństwie do tradycyjnych metod, zdarzenia obsługiwane są głównie przez powiązania z poleceniami w mvvm, więc aby zrozumieć, jak zdarzenia są obsługiwane w mvvm, najpierw trzeba znać, jak działają polecenia.

1. Dowództwo RelayCommand

Polecenia WPF/SL są tworzone przez implementację interfejsu ICommand. ICommand udostępnia dwie metody (Execute i CanExecute) oraz zdarzenie (CanExecuteChanged). Execute wykonuje akcję powiązaną z poleceniem. CanExecute określa, czy polecenie może zostać wykonane na bieżącym celu polecenia. Klasą implementującą interfejs ICommand w MvvmLight jest RelayCommand, która iinicializuje metody Execute i CanExecute przez konstruktor, więc konstruktor przekazuje parametry typu delegata, a Execute i CanExecute metody delegowane, a odpowiedni kod RelayCommand jest następujący:


2. Wiązanie atrybutów Comand

Prosty przykład: TextBox i przycisk, TextBox jest dostępny tylko wtedy, gdy treść nie jest pusta, a dostępny przycisk jest kliknięty, aby wyświetlić zawartość TextBoxa.




ViewMode:







Poprzedni:android-TableLayout oraz użycie TableRow
Następny:Główne okno otwiera się, gdy okno logowania WPF jest zamknięte
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com