INotifyPropertyChanged: Kunci Kemas Kini Automatik dalam Pengikatan Data WPF
Pengikatan data WPF yang cekap sangat bergantung pada antara muka INotifyPropertyChanged
. Antara muka ini adalah penting untuk mengemas kini sifat terikat secara automatik dalam kawalan WPF apabila nilainya berubah dalam kod anda. Tanpanya, WPF tidak akan dimaklumkan tentang perubahan ini, yang membawa kepada paparan data yang lapuk atau tidak tepat.
Pertimbangkan contoh ini:
<code class="language-csharp">public class StudentData : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } private string _firstName; public string StudentFirstName { get { return _firstName; } set { _firstName = value; OnPropertyChanged(nameof(StudentFirstName)); } } }</code>
Kod ini melaksanakan INotifyPropertyChanged
. Kaedah OnPropertyChanged
menaikkan acara PropertyChanged
apabila StudentFirstName
diubah suai.
Ikatan XAML yang sepadan kelihatan seperti ini:
<code class="language-xaml"><TextBox Grid.Column="2" Grid.Row="1" Text="{Binding Path=StudentFirstName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center"/></code>
Di sini, harta TextBox
Text
terikat kepada StudentFirstName
. UpdateSourceTrigger=PropertyChanged
memberitahu WPF untuk mengemas kini StudentFirstName
apabila kandungan TextBox
berubah. OnPropertyChanged
kemudian memberitahu WPF tentang kemas kini. Paparan TextBox
dikemas kini secara automatik untuk mencerminkan perubahan.
INotifyPropertyChanged
juga terbukti bermanfaat dalam senario di mana pengawal memantau perubahan sifat untuk mendayakan/melumpuhkan elemen UI atau apabila sifat dipaparkan dalam berbilang paparan, memastikan semua paparan mencerminkan nilai terkini serta-merta.
Walaupun pengikatan WPF mungkin berfungsi sebahagiannya tanpa INotifyPropertyChanged
, pelaksanaannya amat dinasihatkan untuk pengikatan data yang mantap dan cekap dalam aplikasi WPF anda. Ia memastikan ketekalan data dan responsif merentas UI anda.
Atas ialah kandungan terperinci Bagaimanakah INotifyPropertyChanged Mendayakan Kemas Kini Automatik dalam Pengikatan Data WPF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!