Skip to content

Commit 2581616

Browse files
committed
Fix issue with selection rectangle
1 parent e37917f commit 2581616

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/Files.App/UserControls/Selection/RectangleSelection_ListViewBase.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ private void RectangleSelection_PointerMoved(object sender, PointerRoutedEventAr
6464
// Selected area considering scrolled offset
6565
var rect = new System.Drawing.Rectangle((int)Canvas.GetLeft(selectionRectangle), (int)Math.Min(originDragPoint.Y, currentPoint.Position.Y + verticalOffset), (int)selectionRectangle.Width, (int)Math.Abs(originDragPoint.Y - (currentPoint.Position.Y + verticalOffset)));
6666

67+
var selectedItemsBeforeChange = uiElement.SelectedItems.ToArray();
68+
6769
foreach (var item in itemsPosition.ToList())
6870
{
6971
try
@@ -102,7 +104,8 @@ private void RectangleSelection_PointerMoved(object sender, PointerRoutedEventAr
102104
if (prevSelectedItemsDrag is null || !prevSelectedItemsDrag.SequenceEqual(currentSelectedItemsDrag))
103105
{
104106
// Trigger SelectionChanged event if the selection has changed
105-
selectionChanged(sender, new SelectionChangedEventArgs(currentSelectedItemsDrag, new List<object>()));
107+
var removedItems = selectedItemsBeforeChange.Except(currentSelectedItemsDrag).ToList();
108+
selectionChanged(sender, new SelectionChangedEventArgs(removedItems, currentSelectedItemsDrag));
106109
prevSelectedItemsDrag = currentSelectedItemsDrag;
107110
}
108111
}

0 commit comments

Comments
 (0)