From f412c696f068314a5d608b7ddd438cc268aa168c Mon Sep 17 00:00:00 2001 From: ReeJK Date: Thu, 12 Apr 2018 23:29:13 +0300 Subject: [PATCH 1/3] use Source in Binding --- .../Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs index c6705cbb4b..6e8fe1e4c0 100644 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs +++ b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/BindingExtension.cs @@ -43,6 +43,7 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions Mode = Mode, Path = pathInfo.Path, Priority = Priority, + Source = Source, RelativeSource = pathInfo.RelativeSource ?? RelativeSource, DefaultAnchor = new WeakReference(GetDefaultAnchor((ITypeDescriptorContext)serviceProvider)) }; From 272939464eaa6341b718ec8621967df29bc2e826 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 12 Apr 2018 23:28:08 +0200 Subject: [PATCH 2/3] 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 3/3] 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);