西澳大学 - 后退按钮处理

时间:2015-11-20 07:23:14

标签: c# windows-10 win-universal-app uwp

我已经使用了backrequest事件,如下面的代码和appbar标题后退按钮或移动设备硬件按钮我应该在按钮上单击两次直到事件工作。

只需点击一下,我该怎么做?

SystemNavigationManager.GetForCurrentView().BackRequested += (sender, e) =>
        {
            bool handeled = e.Handled;

            if (Frame.CanGoBack && !handeled)
            {
                handeled = true;
                Frame.GoBack();
            }

            e.Handled = handeled;
        };


        if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
        {
            Windows.Phone.UI.Input.HardwareButtons.BackPressed += (sender, e) =>
            {
                bool handeled = e.Handled;

                if (Frame.CanGoBack && !handeled)
                {
                    handeled = true;
                    Frame.GoBack();
                }

                e.Handled = handeled;
            };
        }

1 个答案:

答案 0 :(得分:1)

我有同样的问题。每当我想要导航回来时,我都必须按两次后退按钮。直到我发现,SplitView负责此问题。在导航之前我不得不关闭它。

例如,如果您想从Page1移动到另一个页面然后返回,请在Page1上使用类似的内容:

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    MySplitView.IsPaneOpen = false;
}

我希望它有所帮助,即使你在一个空白的项目上说(显然没有汉堡菜单),结果是一样的。