pschelpdesk/Shared/ViewModels/ViewModelBase.cs
2024-11-28 19:02:53 +01:00

27 lines
775 B
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using NP.Ava.UniDockService;
using NP.Utilities;
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);
}
}
}