20211124_ZNZT_upperpc/MonitoringTechnology/Models/ObservableObject.cs
2023-02-03 08:31:48 +08:00

31 lines
916 B
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace MonitoringTechnology.Models
{
public class ObservableObject : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
//Console.WriteLine("OnPropertyChanged() - " + propertyName);
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected void Set<T>(ref T field, T newValue, [CallerMemberName] string propertyName = "")
{
if (!object.Equals(field, newValue))
{
field = newValue;
OnPropertyChanged(propertyName);
}
}
}
}