Dreamine.MVVM.ViewModels 1.0.5
Dreamine.MVVM.ViewModels 프로젝트의 API와 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
ViewModelBase.cs
이 파일의 문서화 페이지로 가기
1using System.ComponentModel;
2using System.Runtime.CompilerServices;
3
5{
14 public abstract partial class ViewModelBase : INotifyPropertyChanged, INotifyPropertyChanging
15 {
24 public event PropertyChangedEventHandler? PropertyChanged;
25
34 public event PropertyChangingEventHandler? PropertyChanging;
35
52 // null! is intentional: CallerMemberName always supplies the caller's member name at compile time.
53 protected void OnPropertyChanged([CallerMemberName] string propertyName = null!)
54 {
55 PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
56 }
57
74 protected void OnPropertyChanging([CallerMemberName] string propertyName = null!)
75 {
76 PropertyChanging?.Invoke(this, new PropertyChangingEventArgs(propertyName));
77 }
78
127 protected bool SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null!)
128 {
129 if (EqualityComparer<T>.Default.Equals(field, value))
130 return false;
131
132 OnPropertyChanging(propertyName);
133 field = value;
134 OnPropertyChanged(propertyName);
135 return true;
136 }
137 }
138}
PropertyChangedEventHandler? PropertyChanged
void OnPropertyChanging([CallerMemberName] string propertyName=null!)
PropertyChangingEventHandler? PropertyChanging
void OnPropertyChanged([CallerMemberName] string propertyName=null!)
bool SetProperty< T >(ref T field, T value, [CallerMemberName] string propertyName=null!)