0

uwp アプリでハードウェアの [戻る] ボタンを押すと、アプリが閉じます。テンプレート 10 のハンバーガー インターフェイスを使用します。

次のコードを app.xaml.cs と het schell.xaml.cs に追加しましたが、押し戻すと、パラメーター canGoBack が false であると表示され、アプリが閉じます。

public Shell(INavigationService navigationService)
{
    Instance = this;
    InitializeComponent();

    // setup for static calls
    Window = WindowWrapper.Current();
    MyHamburgerMenu.NavigationService = navigationService;

    // any nav change, reset to normal
    navigationService.FrameFacade.Navigated += (s, e) =>
        BusyModal.IsModal = LoginModal.IsModal = false;

    SystemNavigationManager.GetForCurrentView().BackRequested += Shell_BackRequested;
}

private void Shell_BackRequested(object sender, BackRequestedEventArgs e)
{
    MyHamburgerMenu.NavigationService.GoBack();
}
4

1 に答える 1

0

これは、デフォルトの実装で BackRequested イベントを処理する方法です。

SystemNavigationManager.GetForCurrentView().BackRequested += (sender, e) =>
{
    if (!e.Handled && Frame.CanGoBack)
    {
        e.Handled = true;
        AppFrame.GoBack();
    }
};

CanGoBack を true にするには、最初に Frame.Navigate() を呼び出す必要があることに注意してください。

Frame.BackStack にフレームがある場合、CanGoBack は true になります。

于 2016-03-29T18:53:54.447 に答える