UWA-后退按钮操作

本文关键字:操作 按钮 UWA- | 更新日期: 2023-09-27 18:22:44

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

我应该怎么做才能让它只需点击一下就可以工作?

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

UWA-后退按钮操作

我遇到了同样的问题。每次我想导航回来,我都必须按两次后退按钮。直到我发现这个问题是SplitView造成的。在导航之前,我不得不关闭它。

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

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

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