| 1234567891011121314151617181920212223 |
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- namespace LocalizationTool.ViewModels
- {
- /// <summary>ViewModel 基类:属性变更通知。</summary>
- public abstract class ViewModelBase : INotifyPropertyChanged
- {
- public event PropertyChangedEventHandler PropertyChanged;
- protected void OnPropertyChanged([CallerMemberName] string name = null) =>
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
- /// <summary>设置字段并通知变更,返回是否有变化。</summary>
- protected bool Set<T>(ref T field, T value, [CallerMemberName] string name = null)
- {
- if (Equals(field, value)) return false;
- field = value;
- OnPropertyChanged(name);
- return true;
- }
- }
- }
|