From 272939464eaa6341b718ec8621967df29bc2e826 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 12 Apr 2018 23:28:08 +0200 Subject: [PATCH 1/2] Need to press a button to click it! Only raise a `Button` click event on pointer release when the button has been pressed first! --- src/Avalonia.Controls/Button.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/Button.cs b/src/Avalonia.Controls/Button.cs index 4922761a84..fa69d72d67 100644 --- a/src/Avalonia.Controls/Button.cs +++ b/src/Avalonia.Controls/Button.cs @@ -245,7 +245,7 @@ namespace Avalonia.Controls { base.OnPointerReleased(e); - if (e.MouseButton == MouseButton.Left) + if (IsPressed && e.MouseButton == MouseButton.Left) { e.Device.Capture(null); IsPressed = false; From ef44f2b9083b81289889da46cc2f84159b94b6bd Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 12 Apr 2018 23:28:21 +0200 Subject: [PATCH 2/2] Handle the click that opens a DropDown. --- src/Avalonia.Controls/DropDown.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Avalonia.Controls/DropDown.cs b/src/Avalonia.Controls/DropDown.cs index a7ea2da4a4..932179028e 100644 --- a/src/Avalonia.Controls/DropDown.cs +++ b/src/Avalonia.Controls/DropDown.cs @@ -164,6 +164,7 @@ namespace Avalonia.Controls else { IsDropDownOpen = !IsDropDownOpen; + e.Handled = true; } } base.OnPointerPressed(e);