Files
laatzen/Common/Ui/Common.GUI/ViewModels/Base/VM.cs
T
2025-01-28 14:39:42 +01:00

33 lines
948 B
C#

namespace Common.GUI.ViewModels.Base
{
using System;
using System.ComponentModel;
using System.Runtime.CompilerServices;
public class VM : INotifyPropertyChanged, IDisposable
{
public event PropertyChangedEventHandler PropertyChanged;
public virtual void Dispose()
{
}
protected void InvokeOnMainThread(Action action)
=> App.Current.Dispatcher.Invoke(action);
protected void InvokeOnMainThreadAsync(Action action)
=> App.Current.Dispatcher.InvokeAsync(action);
protected void NotifyPropertyChanged([CallerMemberName] string member = "")
=> this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(member));
protected void SetValue(Action setterAction, [CallerMemberName] string member = "")
{
setterAction?.Invoke();
this.NotifyPropertyChanged(member);
}
}
}