c# - Windows 10 UWP,带有汉堡菜单的后退按钮到上一个框架

标签 c# xml uwp

我将仅在应用程序第一页中可用的菜单更改为汉堡菜单。现在它在所有页面中都可用。

现在问题出在我手机上的硬件按钮上。以前它在这个解决方案中运行良好: 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/

相关文章:

c# - UWP xaml ripple Effect(安卓效果)动画

用于为azure blob中的文件生成可共享下载链接的c#代码

c# - Entity Framework ——通过名称获取实体

c# - 使用 "dynamic"的基于接口(interface)的方法调用是否仍应遵守 C# 方法解析规则?

c# - LINQ优化的问题

c# - 数据访问层(DAL)中的LINQ查询方法

java - 如何将 JAXB 对象编码到不同的模式?

android - 像 html 一样显示 android TextViews 会 float div

XML 和 iSeries RPGLE - 开发工具?

visual-studio - 将 UWP 应用从 Visual Studio 部署到 Windows 10 Phone 需要 PIN