我将仅在应用程序第一页中可用的菜单更改为汉堡菜单。现在它在所有页面中都可用。
现在问题出在我手机上的硬件按钮上。以前它在这个解决方案中运行良好: http://devcenter.wintellect.com/jprosise/handling-the-back-button-in-windows-10-uwp-apps
现在我有第一页(根)加载到“框架”(splitview.content)主页。现在,当我从菜单的其他页面(在我的示例“产品”中)按并按手机上的“后退”按钮时,应用程序正在关闭。我认为因为应用程序不知道它在“框架”页面中,但它仍在根框架上,所以后退按钮正在关闭应用程序
我不知道怎么处理
我正在发送我的示例: example
最佳答案
基本上,您需要做的是订阅 MyFrame
上的 Navigated
事件,而不是订阅 rootFrame
上的那个事件,订阅root
页面中的 BackRequested
事件,而不是尝试向后导航 rootFrame
,向后导航 MyFrame
。因此,您的 root
页面中的代码可能如下所示:
XAML:
<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
的后退导航相关的所有代码,因为自定义框架中的后退导航不需要它。
下次,请在您的问题中发布相关代码。阅读起来会更容易:)
关于c# - Windows 10 UWP,带有汉堡菜单的后退按钮到上一个框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061172/