使用后退按钮

时间:2016-09-09 07:09:02

标签: c# xaml uwp

有没有办法可以通过按后退按钮“暂停”UWP应用程序。 我甚至不确定暂停是正确的术语,但我想要做的是在用户按下后退按钮时关闭应用程序,而不是回到我的应用程序中的注册/登录页面。 我希望应用程序关闭,但当用户通过按住后退按钮打开最近的应用程序菜单时,仍然会显示该应用程序。 继承了App.Xaml.Cs中的代码

 private void OnBackRequested(object sender, Windows.UI.Core.BackRequestedEventArgs e)
        {
            Frame rootFrame = Window.Current.Content as Frame;
            if (rootFrame.CurrentSourcePageType == typeof(Pages.Home))
            {
                App.Current.Exit();
            }
            if (rootFrame.CanGoBack)
            {
                e.Handled = true;
                rootFrame.GoBack();
            }
        }

问题在于App.Current.Exit(); 它终止应用程序,我想要做的就是关闭,而不是回到MainPage。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

要离开您的应用而不终止它,只需删除App.Current.Exit();并忽略后退事件(e.Handled = false;)。然后,您将获得默认行为,即将应用程序保留在移动设备上。在桌面上,您的应用将保留在其所在页面上。然后,您必须使用挂起/恢复事件处理程序执行任何适合您在适当状态下保存/恢复应用程序的需要。

void OnBackRequested(object sender, Windows.UI.Core.BackRequestedEventArgs e)
{
        Frame rootFrame = Window.Current.Content as Frame;
        if (rootFrame.CurrentSourcePageType == typeof(Pages.Home))
        {
            // ignore the event. We want the default system behavior
            e.Handled = false;
        }
        else if (rootFrame.CanGoBack)
        {
            e.Handled = true;
            rootFrame.GoBack();
        }
}