Skip to content

Commit 1419661

Browse files
authored
Do not trigger selection rectangle with touch (#2356)
1 parent 21bcd00 commit 1419661

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Files/UserControls/Selection/RectangleSelection_DataGrid.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ private void RectangleSelection_PointerPressed(object sender, PointerRoutedEvent
140140
originDragPoint = new Point(e.GetCurrentPoint(uiElement).Position.X, e.GetCurrentPoint(uiElement).Position.Y); // Initial drag point relative to the topleft corner
141141
var verticalOffset = (scrollBar?.Value ?? 0) - 38; // Header height
142142
originDragPoint.Y += verticalOffset; // Initial drag point relative to the top of the list (considering scrolled offset)
143-
if (!e.GetCurrentPoint(uiElement).Properties.IsLeftButtonPressed)
143+
if (!e.GetCurrentPoint(uiElement).Properties.IsLeftButtonPressed || e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Touch)
144144
{
145-
// Trigger only on left click
145+
// Trigger only on left click, do not trigger with touch
146146
return;
147147
}
148148
var clickedRow = Interaction.FindParent<DataGridRow>(e.OriginalSource as DependencyObject);

Files/UserControls/Selection/RectangleSelection_ListViewBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,9 @@ private void RectangleSelection_PointerPressed(object sender, PointerRoutedEvent
103103
originDragPoint = new Point(e.GetCurrentPoint(uiElement).Position.X, e.GetCurrentPoint(uiElement).Position.Y); // Initial drag point relative to the topleft corner
104104
var verticalOffset = scrollViewer?.VerticalOffset ?? 0;
105105
originDragPoint.Y += verticalOffset; // Initial drag point relative to the top of the list (considering scrolled offset)
106-
if (!e.GetCurrentPoint(uiElement).Properties.IsLeftButtonPressed)
106+
if (!e.GetCurrentPoint(uiElement).Properties.IsLeftButtonPressed || e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Touch)
107107
{
108-
// Trigger only on left click
108+
// Trigger only on left click, do not trigger with touch
109109
return;
110110
}
111111
uiElement.PointerMoved -= RectangleSelection_PointerMoved;

0 commit comments

Comments
 (0)