Junior
INotifyPropertyChanged arayüzü ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
INotifyPropertyChanged arayüzü, müşterilere (genellikle kullanıcı arayüzü öğeleri) bir özelliğin değerinin değiştiğini bildirmek için kullanılır. Bu, MVVM (Model-View-ViewModel) deseninin ve WPF gibi UI çerçevelerinde veri bağlamanın temel mekanizmasıdır.
Bir sınıf bu arayüzü uygulayan ve bir özelliğin değeri değiştiğinde:
PropertyChangedolay işleyicisi çağrılır.- İşleyici, değişen özelliğin adını içeren
PropertyChangedEventArgstüründe argümanlar alır. - Bu olaya abone olan UI öğeleri veya diğer istemciler bildirim alır ve yeni değere göre görüntülerini güncelleyebilir.
Uygulama örneği:
using System.ComponentModel;
using System.Runtime.CompilerServices;
public class MyData : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (_name != value) // Gerçekten değişip değişmediğini kontrol et
{
_name = value;
OnPropertyChanged(); // Bildirim metodunu çağır
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
.NET 6 ve üzeri sürümlerde, CommunityToolkit.Mvvm paketinden [ObservableProperty] özniteliği kullanılarak boilerplate kodu otomatik olarak oluşturulabilir:
using CommunityToolkit.Mvvm.ComponentModel;
public partial class MyData : ObservableObject
{
[ObservableProperty]
private string _name;
}