pschelpdesk/Shared/ViewModels/ViewModelBase.cs
2024-11-06 10:46:02 +01:00

25 lines
726 B
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace PSCHelpdesk.Shared.ViewModels;
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected void SetAndRaisePropertyChanged<T>(
ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (!Equals(field, value))
{
field = value;
RaisePropertyChanged(propertyName);
}
}
}