|
|
Yayınlandı 18.12.2017 21:16:49
|
|
|

Yaygın kullanılan Wpf geliştirmelerinde, ViewModel'de INotifyPropertyChanged arayüzünü uygularız ve böylece PropertyChanged olayını tetikleyerek arayüz değişikliklerini bildirmek amacıyla kullanılırız.
MVVMLight çerçevesinde, burada tanımladığımız ViewModel, MvvmLight çerçevesinde kapsüllenmiş olan ViewModelBase'den miras alınmıştır ve INotifyPropertyChanged arayüzünü uygulamıştır.
Bu nedenle, ViewModel özelliğini tanımlarken, özellik değişikliğini bildirmek için sadece RaisePropertyChanged(PropertyName) çağırmamız yeterlidir.
Olaylar, WPF/SL uygulamalarında arayüz için arka plan koduyla etkileşim kurmanın en önemli yoludur ve geleneksel yöntemlerin aksine, olaylar çoğunlukla mvvm'deki komutlara bağlanarak yönetilir; bu yüzden mvvm'de olayların nasıl işlendiğini anlamak için önce komutların nasıl çalıştığını bilmek gerekir.
1. Röle Komutası komutu
WPF/SL komutları ICommand arayüzü uygulanarak oluşturulur. ICommand iki yöntem (Execute ve CanExecute) ve bir olay (CanExecuteChanged) sunar. Execute, komutla ilişkili eylemi çalıştırır. CanExecute, mevcut komut hedefinde bir komutun yürütülüp çalışılamayacağını belirler. MvvmLight'ta ICommand arayüzünü uygulayan sınıf RelayCommand'dır; bu sınıf Execute ve CanExecute metodlarını üretici üzerinden başlatır, böylece üretici delege türünün parametrelerini girer, Execute ve CanExecute ise devredilen yöntemleri çalıştırır ve ilgili RelayCommand kodu şöyledir:
2. Comand öznitelik bağlaması
Basit bir örnek: Bir TextBox ve bir Button, TextBox yalnızca içerik boş olmadığında kullanılabilir ve mevcut Button'a tıklanarak TextBox içeriği gösterilir.
ViewMode:
|
Önceki:android-TableLayout ve TableRow kullanımıÖnümüzdeki:Ana pencere, WPF giriş penceresi kapandığında açılır
|