Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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. Зв'язування атрибутів Comand

Простий приклад: TextBox і кнопка, TextBox доступний лише тоді, коли вміст не порожній, а доступна кнопка натискається, щоб показати вміст TextBox.




ViewMode:







Попередній:android-TableLayout, а також використання TableRow
Наступний:Головне вікно відкривається, коли вікно входу WPF закривається
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com