From 7c4285063597bbb087ccf8d85c06b1d608f883e9 Mon Sep 17 00:00:00 2001 From: Maxwell Katz Date: Mon, 19 May 2025 00:01:09 -0400 Subject: [PATCH] Improve pen secondary button handling on list box (#18766) * Only start ScrollGesture when left click pressed, also `GetCurrentPoint(null)` behaves the same as root visual * Allow right-click pen to select items on press * Add context menus to even items on ListBox page for testing * Avoid global static in UpdateSelectionFromPointerEvent * Revert "Avoid global static in UpdateSelectionFromPointerEvent" This reverts commit 2562d73e83b238ae0eda1c2c54247b223f539034. * Add comment to UpdateSelectionFromPointerEvent * Use fully mocked rendering for list box test * Add pen selection tests * TouchTestHelper should use correct inputs --- samples/ControlCatalog/Pages/ListBoxPage.xaml | 7 + .../ScrollGestureRecognizer.cs | 12 +- src/Avalonia.Controls/ListBox.cs | 1 + src/Avalonia.Controls/ListBoxItem.cs | 6 +- .../ListBoxTests.cs | 28 +-- .../ListBoxTests_Single.cs | 192 ++++++++++++------ tests/Avalonia.UnitTests/MouseTestHelper.cs | 4 +- tests/Avalonia.UnitTests/TouchTestHelper.cs | 9 +- 8 files changed, 157 insertions(+), 102 deletions(-) diff --git a/samples/ControlCatalog/Pages/ListBoxPage.xaml b/samples/ControlCatalog/Pages/ListBoxPage.xaml index eef81c25fa..7694845009 100644 --- a/samples/ControlCatalog/Pages/ListBoxPage.xaml +++ b/samples/ControlCatalog/Pages/ListBoxPage.xaml @@ -5,6 +5,13 @@ x:DataType="viewModels:ListBoxPageViewModel"> +