protected virtual void OnPropertyChanged(/*[CallerMemberName]*/ string PropertyName /* = null*/) => PropertyChanged.ThreadSafeInvoke(this, PropertyName);