当我在我的uwp应用程序中按下硬件后退按钮时,该应用程序将关闭。我使用Template 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();
}
答案 0 :(得分:0)
这是您应该如何处理默认实现的BackRequested事件:
SystemNavigationManager.GetForCurrentView().BackRequested += (sender, e) =>
{
if (!e.Handled && Frame.CanGoBack)
{
e.Handled = true;
AppFrame.GoBack();
}
};
请记住,要使CanGoBack成为现实,您应首先调用Frame.Navigate()
如果Frame.BackStack中有帧,则CanGoBack将为真。