diff --git a/src/Avalonia.Controls/Button.cs b/src/Avalonia.Controls/Button.cs index 24b2af7996..9c4c33f549 100644 --- a/src/Avalonia.Controls/Button.cs +++ b/src/Avalonia.Controls/Button.cs @@ -251,7 +251,9 @@ namespace Avalonia.Controls IsPressed = false; e.Handled = true; - if (ClickMode == ClickMode.Release && new Rect(Bounds.Size).Contains(e.GetPosition(this))) + //only renderer (hittesting) know better whether pointer is over the bounds of the button + if (ClickMode == ClickMode.Release && + (IsPointerOver || new Rect(Bounds.Size).Contains(e.GetPosition(this)))) { OnClick(); }