Dalam pengembangan Wpf yang umum digunakan, kami mengimplementasikan antarmuka INotifyPropertyChanged di ViewModel untuk mencapai tujuan pemberitahuan perubahan UI dengan memicu peristiwa PropertyChanged.
Dalam kerangka kerja MVVMLight, ViewModel yang kami tentukan di sini diwarisi dari ViewModelBase, yang dienkapsulasi dalam kerangka kerja MvvmLight, dan telah mengimplementasikan antarmuka INotifyPropertyChanged.
Oleh karena itu, saat menentukan properti ViewModel, kita hanya perlu memanggil RaisePropertyChanged(PropertyName) untuk memberi tahu perubahan properti.
Peristiwa adalah cara terpenting bagi UI untuk berinteraksi dengan kode latar belakang dalam aplikasi WPF/SL, dan tidak seperti metode tradisional, peristiwa ditangani terutama dengan mengikat perintah di mvvm, jadi untuk memahami bagaimana peristiwa ditangani di mvvm, Anda harus terlebih dahulu terbiasa dengan cara kerja perintah.
1. Perintah RelayCommand
Perintah WPF/SL dibuat dengan mengimplementasikan antarmuka ICommand. ICommand mengekspos dua metode (Execute dan CanExecute) dan peristiwa (CanExecuteChanged). Eksekusi menjalankan tindakan yang terkait dengan perintah. CanExecute menentukan apakah perintah dapat dijalankan pada target perintah saat ini. Kelas yang mengimplementasikan antarmuka ICommand di MvvmLight adalah RelayCommand, yang menginisialisasi metode Execute dan CanExecute melalui konstruktor, sehingga konstruktor meneruskan parameter jenis delegasi, dan Execute dan CanExecute mengeksekusi metode yang didelegasikan, dan kode RelayCommand yang relevan adalah sebagai berikut:
2. Pengikatan atribut Comand
Contoh sederhana: Kotak Teks dan Tombol, Kotak Teks hanya tersedia jika konten tidak kosong, dan Tombol yang tersedia diklik untuk menampilkan konten Kotak Teks.
ViewMode:
|