Junior
INotifyPropertyChanged ინტერფეისი რა მიზნით გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
INotifyPropertyChanged ინტერფეისი გამოიყენება მომხმარებლებისთვის (ხშირად UI ელემენტებისთვის), რათა მიაწოდოს ინფორმაცია, რომ თვისების მნიშვნელობა შეიცვალა. ეს არის ძირითადი მექანიზმი MVVM (Model-View-ViewModel) ნიმუშის და მონაცემთა დაკავშირების განხორციელებისთვის UI ჩარჩოებში, როგორიცაა WPF.
როდესაც ამ ინტერფეისს მორგებული კლასი თვისების მნიშვნელობა იცვლება:
- გამოიძახებათ
PropertyChangedმოვლენის დამუშავებელი. - დამუშავებელი იღებს
PropertyChangedEventArgsტიპის არგუმენტებს, რომლებიც შეიცავს შეცვლილი თვისების სახელწოდებას. - ამ მოვლენის გამოწერილ UI ელემენტები ან სხვა მომხმარებლები იღებენ შეტყობინებას და შეუძლიათ განაახლონ თავიანთი ჩვენება ახალი მნიშვნელობის შესაბამისად.
იმპლემენტაციის მაგალითი:
using System.ComponentModel;
using System.Runtime.CompilerServices;
public class MyData : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (_name != value) // ჭეშმარიტად შეიცვალა თუ არა მნიშვნელობა
{
_name = value;
OnPropertyChanged(); // შეტყობინების მეთოდის გამოძახება
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
.NET 6 და შემდეგი ვერსიებში შეგიძლიათ გამოიყენოთ [ObservableProperty] ატრიბუტი CommunityToolkit.Mvvm პაკეტიდან, რომელიც ავტომატურად გენერირებს ბოილერპლეიტ კოდს:
using CommunityToolkit.Mvvm.ComponentModel;
public partial class MyData : ObservableObject
{
[ObservableProperty]
private string _name;
}