Windows 10 UWP,后退按钮到前一个框架与汉堡包菜单
本文关键字:一个 框架 菜单 汉堡包 UWP 按钮 Windows | 更新日期: 2023-09-27 18:13:16
我将应用程序中仅在第一页可用的菜单更改为汉堡包菜单。现在所有页面都可以使用。
现在的问题是我手机上的硬件按钮。以前它从这个解决方案中工作得很好:http://devcenter.wintellect.com/jprosise/handling-the-back-button-in-windows-10-uwp-apps
现在我有了加载到"frame"(splitview.content)主页的第一页(root)。现在,当我从菜单的其他页面(在我的例子中是"产品")按下"返回"按钮时,我的手机上的应用程序正在关闭。我想是因为应用程序不知道这是在"frame"页面,但它仍然在根框架上,所以后退按钮关闭了应用程序
我不知道如何处理这个
我在发送我的例子:示例
基本上,您需要做的是在MyFrame
上订阅Navigated
事件,而不是在rootFrame
上订阅该事件,在root
页面上订阅BackRequested
事件,而不是试图反向导航rootFrame
,反向导航MyFrame
。因此,root
页面中的代码可能看起来像这样:
<Frame Name="MyFrame" Navigated="MyFrame_Navigated"/>
c#: public root()
{
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
}
private void MyFrame_Navigated(object sender, NavigationEventArgs e)
{
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
MyFrame.CanGoBack ?
AppViewBackButtonVisibility.Visible :
AppViewBackButtonVisibility.Collapsed;
}
private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
if (MyFrame.CanGoBack)
{
e.Handled = true;
MyFrame.GoBack();
}
}
你还应该删除App.xaml.cs
中与rootFrame
的后退导航相关的所有代码,因为它不需要自定义框架中的后退导航。
下次请把相关代码贴在你的问题里。这样更容易阅读:)