pschelpdesk/Shared/ViewModels/ViewModelBase.cs
2024-12-03 18:35:25 +01:00

26 lines
768 B
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using Dock.Model.Mvvm.Controls;
namespace PSCHelpdesk.Shared.ViewModels;
public class ViewModelBase : Document, 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);
}
}
}