2017-02-11 11 views
0

私はシステムのバックボタンを繋ぐために以下のコードを実装したUWPアプリを持っています。このイベントは、Windows Phoneのハードウェアの戻るボタン、Windows 10のタイトルバーの戻るボタン、およびWindows 10タブレットモードのタスクバーの戻るボタンをキャプチャするために提供されています。UWPタブレットモードのバックボタンが機能しない

私のアプリではハードウェアとタイトルバーのバックボタンが機能していますが、タブレットモードではタスクバーの戻るボタンを押すと、自分のアプリがバックグラウンドに移動し、私がどこにいるかに関係なくスタートメニューに移動します。アプリのバックスタック。この場合、BackRequestedイベントが発生し、私のアプリケーションは1ページ前に戻ります。

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(); 
} 

なぜタブレットモードの戻るボタンがこのように動作するかについての考えはありますか?多くのWindows 10のPC、サーフェスなどでこの現象が見られています。

答えて

2

Tabletモードの戻るボタンのデフォルトの動作は、実際にアプリからナビゲートすることです。これを防ぐには、がアプリに戻ると、と表示され、と表示されていることを確認する必要があります。

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

アプリFrameCanGoBackプロパティをチェックしますCanGoBack()メソッドを追加する必要があります。

+0

私はCanGoBackをチェックしていますが、キーであるe.Handled = trueを設定していません。ありがとう! – Scott

関連する問題