diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs index 1c4f727161..f0e385cf94 100644 --- a/src/Avalonia.Base/AvaloniaObject.cs +++ b/src/Avalonia.Base/AvaloniaObject.cs @@ -590,8 +590,8 @@ namespace Avalonia } } - protected void SetAndRaise(AvaloniaProperty property, Action> setterCallback, T value) - => directDelayedSetter.SetAndNotify(property, (val, notify) => setterCallback((T)val, notify), value); + protected void SetAndRaise(AvaloniaProperty property, Action> setterCallback, T value, Predicate pendingSetCondition = null) + => directDelayedSetter.SetAndNotify(property, (val, notify) => setterCallback((T)val, notify), value, o => pendingSetCondition((T)o)); /// /// Tries to cast a value to a type, taking into account that the value may be a diff --git a/src/Avalonia.Base/Utilities/DelayedSetter.cs b/src/Avalonia.Base/Utilities/DelayedSetter.cs index 155e4509a2..a8eb7554be 100644 --- a/src/Avalonia.Base/Utilities/DelayedSetter.cs +++ b/src/Avalonia.Base/Utilities/DelayedSetter.cs @@ -86,8 +86,5 @@ namespace Avalonia.Utilities AddPendingSet(property, value); } } - - public void SetAndNotify(T property, Action> setterCallback, TValue value) - => SetAndNotify(property, setterCallback, value, null); } }