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( ref T field, T value, [CallerMemberName] string propertyName = null) { if (!Equals(field, value)) { field = value; RaisePropertyChanged(propertyName); } } }