diff --git a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs index 046b55d49a..7c259f0a09 100644 --- a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs +++ b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs @@ -420,7 +420,7 @@ namespace Avalonia.Controls _calendar.DayButtonMouseUp -= Calendar_DayButtonMouseUp; _calendar.DisplayDateChanged -= Calendar_DisplayDateChanged; _calendar.SelectedDatesChanged -= Calendar_SelectedDatesChanged; - _calendar.PointerPressed -= Calendar_PointerPressed; + _calendar.PointerReleased -= Calendar_PointerReleased; _calendar.KeyDown -= Calendar_KeyDown; } _calendar = e.NameScope.Find(ElementCalendar); @@ -435,7 +435,7 @@ namespace Avalonia.Controls _calendar.DayButtonMouseUp += Calendar_DayButtonMouseUp; _calendar.DisplayDateChanged += Calendar_DisplayDateChanged; _calendar.SelectedDatesChanged += Calendar_SelectedDatesChanged; - _calendar.PointerPressed += Calendar_PointerPressed; + _calendar.PointerReleased += Calendar_PointerReleased; _calendar.KeyDown += Calendar_KeyDown; //_calendar.SizeChanged += new SizeChangedEventHandler(Calendar_SizeChanged); //_calendar.IsTabStop = true; @@ -831,9 +831,10 @@ namespace Avalonia.Controls } } } - private void Calendar_PointerPressed(object sender, PointerPressedEventArgs e) + private void Calendar_PointerReleased(object sender, PointerReleasedEventArgs e) { - if (e.GetCurrentPoint(this).Properties.IsLeftButtonPressed) + + if (e.InitialPressMouseButton == MouseButton.Left) { e.Handled = true; } diff --git a/src/Avalonia.Controls/ComboBox.cs b/src/Avalonia.Controls/ComboBox.cs index 27313b0b4c..02a9daee75 100644 --- a/src/Avalonia.Controls/ComboBox.cs +++ b/src/Avalonia.Controls/ComboBox.cs @@ -257,7 +257,7 @@ namespace Avalonia.Controls } /// - protected override void OnPointerPressed(PointerPressedEventArgs e) + protected override void OnPointerReleased(PointerReleasedEventArgs e) { if (!e.Handled) { @@ -276,7 +276,7 @@ namespace Avalonia.Controls } } - base.OnPointerPressed(e); + base.OnPointerReleased(e); } /// diff --git a/tests/Avalonia.Controls.UnitTests/ComboBoxTests.cs b/tests/Avalonia.Controls.UnitTests/ComboBoxTests.cs index 3ae91c8bba..783215fb5d 100644 --- a/tests/Avalonia.Controls.UnitTests/ComboBoxTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ComboBoxTests.cs @@ -2,7 +2,6 @@ using Avalonia.Controls.Presenters; using Avalonia.Controls.Primitives; using Avalonia.Controls.Shapes; using Avalonia.Controls.Templates; -using Avalonia.Input; using Avalonia.LogicalTree; using Avalonia.Media; using Avalonia.UnitTests; @@ -27,6 +26,7 @@ namespace Avalonia.Controls.UnitTests Assert.True(target.IsDropDownOpen); _helper.Down(target); + _helper.Up(target); Assert.False(target.IsDropDownOpen); }