Skip to content

Commit f8b3725

Browse files
Fix: Fixed issue where delete key wouldn't work after removing item from selection (#17348)
1 parent 7203007 commit f8b3725

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

src/Files.App/Views/Layouts/DetailsLayoutPage.xaml.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -884,8 +884,18 @@ private void ItemSelected_Checked(object sender, RoutedEventArgs e)
884884

885885
private void ItemSelected_Unchecked(object sender, RoutedEventArgs e)
886886
{
887-
if (sender is CheckBox checkBox && checkBox.DataContext is ListedItem item && FileList.SelectedItems.Contains(item))
887+
if (sender is not CheckBox checkBox)
888+
return;
889+
890+
if (checkBox.DataContext is ListedItem item && FileList.SelectedItems.Contains(item))
888891
FileList.SelectedItems.Remove(item);
892+
893+
// Workaround for #17298
894+
checkBox.IsTabStop = false;
895+
checkBox.IsEnabled = false;
896+
checkBox.IsEnabled = true;
897+
checkBox.IsTabStop = true;
898+
FileList.Focus(FocusState.Programmatic);
889899
}
890900

891901
private new void FileList_ContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args)

src/Files.App/Views/Layouts/GridLayoutPage.xaml.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -670,10 +670,18 @@ checkBox.DataContext is ListedItem item &&
670670

671671
private void ItemSelected_Unchecked(object sender, RoutedEventArgs e)
672672
{
673-
if (sender is CheckBox checkBox &&
674-
checkBox.DataContext is ListedItem item &&
675-
FileList.SelectedItems.Contains(item))
673+
if (sender is not CheckBox checkBox)
674+
return;
675+
676+
if (checkBox.DataContext is ListedItem item && FileList.SelectedItems.Contains(item))
676677
FileList.SelectedItems.Remove(item);
678+
679+
// Workaround for #17298
680+
checkBox.IsTabStop = false;
681+
checkBox.IsEnabled = false;
682+
checkBox.IsEnabled = true;
683+
checkBox.IsTabStop = true;
684+
FileList.Focus(FocusState.Programmatic);
677685
}
678686

679687
private new void FileList_ContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args)

0 commit comments

Comments
 (0)