@@ -412,25 +412,29 @@ private void FormatDrive()
412
412
413
413
private async void Sidebar_ItemInvoked ( NavigationView sender , NavigationViewItemInvokedEventArgs args )
414
414
{
415
- if ( IsInPointerPressed || args . InvokedItem is null || args . InvokedItemContainer is null )
415
+ try
416
416
{
417
- IsInPointerPressed = false ;
418
- return ;
419
- }
417
+ if ( args . InvokedItem is null || args . InvokedItemContainer is null )
418
+ return ;
420
419
421
- var navigationPath = args . InvokedItemContainer . Tag ? . ToString ( ) ;
420
+ var navigationPath = args . InvokedItemContainer . Tag ? . ToString ( ) ;
422
421
423
- if ( await DriveHelpers . CheckEmptyDrive ( navigationPath ) )
424
- return ;
422
+ if ( await DriveHelpers . CheckEmptyDrive ( navigationPath ) )
423
+ return ;
424
+
425
+ var ctrlPressed = InputKeyboardSource . GetKeyStateForCurrentThread ( VirtualKey . Control ) . HasFlag ( CoreVirtualKeyStates . Down ) ;
426
+ if ( ( IsInPointerPressed || ctrlPressed ) && navigationPath is not null )
427
+ {
428
+ await NavigationHelpers . OpenPathInNewTab ( navigationPath ) ;
429
+ return ;
430
+ }
425
431
426
- var ctrlPressed = InputKeyboardSource . GetKeyStateForCurrentThread ( VirtualKey . Control ) . HasFlag ( CoreVirtualKeyStates . Down ) ;
427
- if ( ctrlPressed && navigationPath is not null )
432
+ SidebarItemInvoked ? . Invoke ( this , new SidebarItemInvokedEventArgs ( args . InvokedItemContainer ) ) ;
433
+ }
434
+ finally
428
435
{
429
- await NavigationHelpers . OpenPathInNewTab ( navigationPath ) ;
430
- return ;
436
+ IsInPointerPressed = false ;
431
437
}
432
-
433
- SidebarItemInvoked ? . Invoke ( this , new SidebarItemInvokedEventArgs ( args . InvokedItemContainer ) ) ;
434
438
}
435
439
436
440
private async void Sidebar_PointerPressed ( object sender , PointerRoutedEventArgs e )
@@ -443,7 +447,6 @@ private async void Sidebar_PointerPressed(object sender, PointerRoutedEventArgs
443
447
444
448
IsInPointerPressed = true ;
445
449
e . Handled = true ;
446
- await NavigationHelpers . OpenPathInNewTab ( item ? . Path ) ;
447
450
}
448
451
449
452
private void PaneRoot_RightTapped ( object sender , RightTappedRoutedEventArgs e )
0 commit comments