Files
Ayay/SHH.CameraDashboard/Pages/CameraWall/ViewModelBase.cs

24 lines
806 B
C#
Raw Normal View History

using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace SHH.CameraDashboard
{
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
// 辅助方法:设置属性值并触发通知
protected bool SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
}
}