Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20694|Отговор: 0

[WPF] WPF RelayCommand

[Копирай линк]
Публикувано в 18.12.2017 г. 21:16:49 ч. | | |

В често използваната Wpf разработка внедряваме интерфейса INotifyPropertyChanged в ViewModel, за да постигнем целта да уведомим промени в потребителския интерфейс чрез задействане на събитието PropertyChanged.

В рамката MVVMLight ViewModel, който дефинираме тук, е наследен от ViewModelBase, който е капсулиран в рамката MvvmLight, и е имплементирал интерфейса INotifyPropertyChanged.

Затова, когато дефинираме свойството ViewModel, трябва само да извикаме RaisePropertyChanged(PropertyName), за да уведомим промяната в свойството.



Събитията са най-важният начин, по който потребителският интерфейс взаимодейства с фонов код в приложенията на WPF/SL, и за разлика от традиционните методи, събитията се обработват основно чрез свързване с команди в mvvm, така че за да разберете как се обработват събитията в mvvm, първо трябва да сте запознати с това как работят командите.

1. Команда RelayCommand

WPF/SL командите се създават чрез реализиране на интерфейса ICommand. ICommand показва два метода (Execute и CanExecute) и събитие (CanExecuteChanged). Execute изпълнява действието, свързано с командата. CanExecute определя дали дадена команда може да бъде изпълнена върху текущата целева команда. Класът, който реализира интерфейса ICommand в MvvmLight, е RelayCommand, който инициализира методите Execute и CanExecute през конструктора, така че конструкторът предава параметрите на типа делегат, а Execute и CanExecute изпълняват делегираните методи, като съответният код на RelayCommand е следният:


2. Свързване на атрибути чрез Команд

Прост пример: TextBox и бутон, TextBox е достъпен само когато съдържанието не е празно, а наличният бутон се натиска, за да се покаже съдържанието на TextBox.




ViewMode:







Предишен:android-TableLayout, както и използването на TableRow
Следващ:Основният прозорец се отваря, когато прозорецът за вход в WPF е затворен
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com