Update MapItem.WinUI.cs

This commit is contained in:
ClemensFischer 2025-03-19 17:18:24 +01:00
parent 1bb03e1102
commit b708b817fd

View file

@ -32,7 +32,7 @@ namespace MapControl
// PointerReleased in order to possibly cancel item selection. // PointerReleased in order to possibly cancel item selection.
// //
private const float pointerMovementThreshold = 2f; private const float pointerMovementThreshold = 2f;
private Windows.Foundation.Point pointerPressedPosition; private Windows.Foundation.Point? pointerPressedPosition;
public MapItem() public MapItem()
{ {
@ -51,8 +51,9 @@ namespace MapControl
{ {
var p = e.GetCurrentPoint(null).Position; var p = e.GetCurrentPoint(null).Position;
if (Math.Abs(p.X - pointerPressedPosition.X) <= pointerMovementThreshold && if (pointerPressedPosition.HasValue &&
Math.Abs(p.Y - pointerPressedPosition.Y) <= pointerMovementThreshold && Math.Abs(p.X - pointerPressedPosition.Value.X) <= pointerMovementThreshold &&
Math.Abs(p.Y - pointerPressedPosition.Value.Y) <= pointerMovementThreshold &&
ItemsControl.ItemsControlFromItemContainer(this) is MapItemsControl mapItemsControl) ItemsControl.ItemsControlFromItemContainer(this) is MapItemsControl mapItemsControl)
{ {
if (mapItemsControl.SelectionMode == SelectionMode.Extended && if (mapItemsControl.SelectionMode == SelectionMode.Extended &&
@ -66,6 +67,7 @@ namespace MapControl
} }
} }
pointerPressedPosition = null;
e.Handled = true; e.Handled = true;
} }