UWP-标题栏”后退“按钮

原文:UWP-标题栏”后退“按钮

标题栏”后退“按钮,系统级导航

  应用必须启用所有硬件和软件系统后退按钮的后退导航。执行此操作的方法是注册 BackRequested 事件的侦听器并定义相应处理程序。

  在此处我们为 App.xaml 代码隐藏文件中的 BackRequested 事件注册全局侦听器。如果你想要从后退导航排除特定页面,或想要在显示页面前执行页面级别代码,可以在每个页面中注册此事件。

Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested +=   App_BackRequested;

  

  以下是在应用的根框架上调用 GoBack 的相应 BackRequested 事件处理程序。

  此处理程序在全局后退事件上调用。 如果应用内后退堆栈为空,系统可能导航至 应用堆栈中的上一个应用或“开始”屏幕。 桌面模式没有应用后退堆栈,并且即使在应用内后退堆栈耗尽时,用户也将停留在该应用中。

private void App_BackRequested(object sender,
    Windows.UI.Core.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();
    }
}

  

启用标题栏后退按钮

支持桌面模式(通常是 PC 和笔记本电脑,但也有一些平板电脑)并启用了设置(“设置”>“系统”>“平板电脑模式”)的设备不提供带有系统后退按钮的全局导航栏。

在桌面模式下,每个应用都在带有标题栏的窗口中运行。你可以为在此标题栏中显示的应用提供备用后退按钮。

标题栏后退按钮仅在桌面模式下的设备上运行的应用中可用,并且仅支持应用内导航历史记录—它不支持应用间的导航历史记录。

要点  默认情况下不显示标题栏后退按钮。你必须选择显示该按钮。

 

在隐藏代码文件中,为你想要启用标题栏后退按钮的每个页面重写 OnNavigatedTo 事件并将 AppViewBackButtonVisibility 设置为 Visible

例如,如果帧的 CanGoBack 属性值为 true,我们将在后退堆栈中列出每个页面并启用后退按钮。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame; 

    string myPages = "";
    foreach (PageStackEntry page in rootFrame.BackStack)
    {
        myPages += page.SourcePageType.ToString() + "\n";
    }
    stackCount.Text = myPages; 

    if (rootFrame.CanGoBack)
    {
        // Show UI in title bar if opted-in and in-app backstack is not empty.
        SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
            AppViewBackButtonVisibility.Visible;
    }
    else
    {
        // Remove the UI from the title bar if in-app back stack is empty.
        SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
            AppViewBackButtonVisibility.Collapsed;
    }
}

  摘自:MSDN

时间: 2024-11-05 14:49:22

UWP-标题栏”后退“按钮的相关文章

UWP滑动后退

原文:UWP滑动后退 经过近些年智能手机App的不断发展,用户已经不仅仅满足于功能上的需求.UI.设计等非功能点逐渐在App体验中占了大多数的分数.不知从何时起,滑动手势就成为了App的一个标配.他不仅仅是一个功能,更是一个UI设计.其有以下几个优点: 1.方便了单手操作.在当今大屏手机占有率越来越高的趋势下,简洁方便的单手操作模式是很有必要的. 2.美化了UI.你可能会有疑问,这是个功能,为什么美化了UI呢?其实,手势操作的另一个利器就是隐藏了部分不是那么美观的UI,使得界面看上去更简.比如邮

IE浏览器前进后退按钮的那些事

浏览器上的前进与后退按钮作为使用频率最高的功能之一,IE团队在设计IE9界面时,便对这两个按钮做了很多优化细节处理. 比如从视觉上看,后退按钮要比前进按钮大的多,点击更为方面,那为什么要这么设计呢?原来微软在对用户使用浏览器的习惯进行大量调查后发现,用户平时点击后退按钮的频率比前进按钮要大得多. 按钮除了在视觉上的优化,功能上也花了不少心思.你知道吗?IE浏览器上的前进与后退键可不仅仅只能点一次噢~将历史记录结合后的按钮更在乎您的使用习惯.下面三种方式告诉你小小的一个按钮也可以有这么多精心的设计

一键调出IE10常用菜单栏和前进后退按钮

大家都有升级到 Windows 8 呢?有没有体验 IE10 革新的无边框全屏浏览呢?想尽情享受网页浏览的酣畅淋漓?其实很简单,今天,小编教大家4步哦,彻底摆脱菜单按钮束缚,轻松玩转 IE10!学起来吧~ 第一步:一键调出常用菜单栏 在享受无边框全屏浏览的同时,却不知道该如何调出常用菜单栏?别担心,其实,只需一键,就可以轻松搞定! 右键调出常用菜单栏 在网页空白处单击鼠标右键或使用 Windows + z,Metro 版 IE10 的常用操作就会在屏幕顶部和底部的菜单栏中显示出来.你可以在屏幕顶

怎样解决AJAX交互应用中遇到的浏览器的BACK后退按钮问题

ajax|按钮|交互|解决|浏览器|问题 AJAX越来越多的应用到网页交互上,但是用AJAX做交互也有一些问题,比如传统网页的浏览是一个一个页面切换,所以可以用浏览器的后退按钮和前进按钮切换到指定的浏览过的页面,也就是浏览器的history.但是用AJAX做交互的时候,是通过js+xmlhttp来获取其他页面信息,对于浏览用户来说,是一个隐性的UE,感觉不到浏览器地址栏的URL的变化,对浏览器来说,地址栏的URL没发变化,产生不了HISTORY.不是说在用AJAX做交互的时候,BACK按钮的问题

AJAX:如何处理书签和后退按钮

ajax|按钮|书签 本文将展示一个开源JavaScript库,该脚本库给AJAX应用程序带来了书签和后退按钮支持.在学习完这个教程后,开发人员将能够获得对一个AJAX问题的解决方案(甚至连Google Maps和Gmail现在都不提供该解决方案):一个强大的.可用的书签和后退前进功能,其操作行为如同其他的Web应用程序一样. 简单示例下载完整源代码.示例二下载O'Reilly Mail源代码. 本文将阐述目前AJAX应用程序在使用书签和后退按钮方面所面临的严重问题:展示Really Simpl

如何使用Ajax解决书签和后退按钮失效问题

本文将展示一个开源JavaScript库,该脚本库给AJAX应用程序带来了书签和后退按钮支持.在学习完这个教程后,开发人员将能够获得对一个AJAX问题的解决方案(甚至连Google Maps和Gmail现在都不提供该解决方案):一个强大的.可用的书签和后退前进功能,其操作行为如同其他的Web应用程序一样. 本文将阐述目前AJAX应用程序在使用书签和后退按钮方面所面临的严重问题:展示Really Simple History(RSH)库--一个可以解决以上问题的开源框架,并提供几个运行中的例子.

Javascript实例教程(10) 创建后退按钮

javascript|按钮|创建|教程 利用Javascript创建一个"后退"连接 在JavaScript中实现一个"后退"连接是相当容易的.这个"后退"连接的功能的作用就象网页中"后退"按钮一样,具体你可以使用以下代码: <FORM> <input type=button value="Go Back" > </FORM > 你仔细点就会发现,这段代码实际上是使用了h

Javascript实例教程(11) 创建后退按钮

javascript|按钮|创建|教程 利用javascript创建一个"后退"连接 在javascript中实现一个"后退"连接是相当容易的.这个"后退"连接的功能的作用就象网页中"后退"按钮一样,具体你可以使用以下代码: <FORM> <input type=button value="Go Back" > </FORM > 你仔细点就会发现,这段代码实际上是使用了h

用ASP实现禁用浏览器的后退按钮

按钮|禁用|浏览器 浏览器的后退按钮使得我们能够方便地返回以前访问过的页面,它无疑非常有用.但有时候我们不得不关闭这个功能,以防止用户打乱预定的页面访问次序.本文介绍网络上可找到的各种禁用浏览器后退按钮方案,分析它们各自的优缺点和适用场合.     一.概述       曾经有许多人问起,"怎样才能'禁用'浏览器的后退按钮?",或者"怎样才能防止用户点击后退按钮返回以前浏览过的页面?"我访问了许多网站,参考了这些网站所介绍的各种实现方法.如果你经常访问ASP编程网站