c # - UWP Tablet Mode back-knappen fungerer ikke

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har UWP app, der implementerer nedenstående kode for at oprette systemets tilbage-knap. Min forståelse er, at denne begivenhed er tilvejebragt for at indfange hardware-tilbage knapper på Windows-telefoner, tilbage-knappen i titellinjen på Windows 10 og tilbage-knappen på proceslinjen i Windows 10-tablet-tilstand.


Knapperne til hardware og titellinje fungerer i min app, men når du trykker på knappen Tilbage i proceslinjen, flyttes min app til baggrunden, og navigerer til startmenuen, uanset hvor jeg er i app backstack. Den BackRequested begivenhed udløses i dette tilfælde, og min app navigerer tilbage en side.


protected override async void OnLaunched(LaunchActivatedEventArgs args)
{
  Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested +=
      App\_BackRequested;
}

private void App\_BackRequested(object sender, BackRequestedEventArgs e)
{
   NavService.GoBack();
}


Nogle tanker om, hvorfor knappen tilbage til tabletmodus vil opføre sig på denne måde? Jeg ser denne adfærd på tværs af mange Windows 10-pc'er, overflader osv.

Bedste reference


Standardfunktionen til Tablet -tilstands-tilbage-knappen er faktisk at navigere ud af appen. For at forhindre dette skal du sørge for, at når du kan navigere tilbage i appen , markerer du også back navigation som håndteret .


private void App\_BackRequested(object sender, BackRequestedEventArgs e)
{
   if ( NavService.CanGoBack() )
   {
      NavService.GoBack();       
      e.Handled = true;
   }
}


Du skal tilføje en CanGoBack() metode, der kontrollerer app Frame s s CanGoBack egenskab.