• UWP 系统级页面导航


    UWP之前,要实现应用内页面后退,Win8.1要自己弄一个后退按钮,WP8.1还可以选择Handle后退按钮事件。

    而在UWP中,后退的实现变得更加方便。

    在Windows.UI.Core命名空间里,有SystemNavigationManager这么个东西,

    只需handle它的BackRequested事件,就可以响应各种系统级的后退事件了,

    包括:UWP应用标题栏的后退按钮,Win10平板模式下任务栏上的后退按钮,Win10m的硬件后退按钮,快捷键Win+Backspace, 以及用Cortana触发的后退事件。

    1 SystemNavigationManager.GetForCurrentView().BackRequested += 
    2     App_BackRequested;
    private void App_BackRequested(object sender, BackRequestedEventArgs e)
    {
        Frame rootFrame = Window.Current.Content as Frame;
        if (rootFrame == null)
            return;
    
        // Navigate back if possible, and if the event has not 
        // already been handled .
        if (rootFrame.CanGoBack && e.Handled == false)
        {
            e.Handled = true;
            rootFrame.GoBack();
        }
    }

    另外,标题栏的后退按钮可以通过SystemNavigationManager来控制是否显示。

      if (rootFrame.CanGoBack)
                {
                    // If we have pages in our in-app backstack and have opted in to showing back, do so
                    SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
                }
                else
                {
                    // Remove the UI from the title bar if there are no pages in our in-app back stack
                    SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
                }

    话说这东西我翻文档翻了半天才找到...

    参考:https://msdn.microsoft.com/en-us/library/windows/apps/mt465734.aspx

  • 相关阅读:
    使用seldom编写http接口用例
    Linux内核学习小知识
    编译内核遇到pahole不可用
    centos使用阿里的yum源
    Linux内核对GCC版本的检测
    在centos7上搭建k8s环境
    C/C++静态链接pthread库的坑【static pthread】
    centos linux内核下载
    2022.12 数字孪生
    2022.5 数字经济及其核心产业统计分类
  • 原文地址:https://www.cnblogs.com/Zixx/p/4868937.html
Copyright © 2020-2023  润新知