protected virtual void OnChanged([CallerMemberName] string p = "") { if (Application.Current.Dispatcher.CheckAccess()) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(p)); } else { var del = new OnChangedDelegate(OnChanged); Application.Current.Dispatcher.Invoke(del, new[] { p }); } }
public void RegisterOnChangedHandler(OnChangedDelegate del) { onChangedHandlers += del; }