【转】【译】【Win10】在你的程序标题栏中显示后退按钮
原文地址:http://www.sharpgis.net/post/2015/05/21/Displaying-a-backbutton-in-your-app-window
免责声明:这篇文章基于 Windows 10 技术预览版 10122。这可能会在未来发生改变。
在 Windows 10 中,有一些应用,在它们顶部的标题栏里,有一个后退按钮。例如设置中:

我们可以使用 SystemNavigationManager 的 AppViewBackButtonVisibility 属性来控制是否显示这么一个按钮。
使用的方法是这样的:
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
当你让你的 Windows 通用程序在桌面系统运行时,运行上面这段代码后,你可以看见一个一样的按钮出现了。当标题栏有足够空间的时候,我们没必要将它放到其它地方,浪费空间。
当然,在手机设备上,这行代码不是必须的(尽管你调用了看起来也没发生任何变化)。以防万一,最好还是调用一下吧,说不定你的设备支持呢。
// 在导航到每一页的时候,显示或隐藏后退按钮
if (Frame.CanGoBack)
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
else
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed; // 注册后退按钮事件。调用一次就好了,别手贱。例如可以在程序启动时调用
SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) =>
{
if (Frame.CanGoBack)
Frame.GoBack();
};
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
// 如果设备有后退按钮,那么同样处理下。
Windows.Phone.UI.Input.HardwareButtons.BackPressed += (s, e) =>
{
if (Frame.CanGoBack)
{
e.Handled = true;
Frame.GoBack();
}
};
}
现在你可以在桌面和手机平台都获得一个后退按钮了!
不幸的是,BackRequested 事件和 BackPressed 事件的参数是不相同的,所以你不能为两者使用同一个事件处理程序。这点是相当遗憾的,我(原作者)希望微软能够尽快解决一下。
译者(h82258652)注:由于原文直译过来的话,感觉过于生硬,因此有部分采取意译,尽可能跟原文作者的想法保持一致。如果有任何疑难,请查阅原文。谢谢!
【转】【译】【Win10】在你的程序标题栏中显示后退按钮的更多相关文章
- Source insight 中 标题栏路径显示完整路径的方法
在source insight 的标题栏中显示完整路径名的方法.Options -> Preferences -> Display -> Trim long path names w ...
- [原创] Easy SysLite V1.2 (2016.5.29更新,新增加WIN10支持,一个程序适配所有系统减肥)
[原创] Easy SysLite V1.2 (2016.5.29更新,新增加WIN10支持,一个程序适配所有系统减肥) nohacks 发表于 2016-5-29 17:12:51 https:// ...
- win10周年更新后程序各种卡死,进程无法结束怎么破?
最近THINKPAD T460P更新了WIN10周年版后程序各种卡死,运行一段时间,各种程序就开始崩溃,进程无法结束,最终只能强制关机. 这个BUG微软已经确认了,安装了SSD+HDD双硬盘的WIN1 ...
- delphi 程序全屏显示无标题栏,覆盖整个屏幕
delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,所以记下 procedure TMainFrm.FormCreate(Sender: TObject); begin w ...
- 安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数
安卓程序中手机后退键与标题栏后退键是不同的,前者回出发onBackPressed()函数,后者需要重重写temclick函数
- win10的cmd中显示:telnet不是内部或外部命令也不是可运行的程序或批处理?
win10的cmd中显示:telnet不是内部或外部命令也不是可运行的程序或批处理? 摘录自:https://blog.csdn.net/haijing1995/article/details/664 ...
- delphi程序全屏显示无标题栏覆盖整个屏幕
delphi 简单实现程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,具体代码如下,感兴趣的朋友可以参考下哈 delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时 ...
- win10 64位专业版系统中显示32位dcom组件配置的方法
word.excel是32位的组件,当用户64位系统在运行窗口中输入dcomcnfg命令时,在打开的组件服务管理窗口,是找不到Microsoft Excel.word程序的.另外,Windows 环境 ...
- 【WinRT】【译】【加工】在 XAML 中制作圆形图片
原文:[WinRT][译][加工]在 XAML 中制作圆形图片 原文地址:http://timheuer.com/blog/archive/2015/05/06/making-circular-ima ...
随机推荐
- Ubuntu 安装 Zabbix 3.2详细步骤
创建 zabbix 用户 因为zabbix 程序的守护进程需要非特权用户,所以需要创建一个 zabbix 用户,即使从 root 用户启动 zabbix 程序,也会自动切换到 zabbix 用户,所以 ...
- Usage of “symmetrical” and “symmetric”
What is the appropriate usage of "symmetrical" and "symmetric" (using the geomet ...
- Python globals() 函数
Python globals() 函数 Python 内置函数 描述 globals() 函数会以字典类型返回当前位置的全部全局变量. 语法 globals() 函数语法: globals() 参数 ...
- c#中@的3种作用
以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用 1.忽略转义字符例如 string fileName = "D:\\文本文件\\text.tx ...
- HttpApplicationState与HttpApplication
HttpApplicationState 类的单个实例在客户端第一次从某个特定的 ASP.NET 应用程序虚拟目录中请求任何 URL 资源时创建.对于 Web 服务器上的每个 ASP.NET 应用程序 ...
- WebAPI 抛出HttpResponseException异常
[HttpGet] public List<UserInfo> GetList() { try { List<UserInfo> list = new List<User ...
- Luogu 3960 [NOIP2017] 列队 - splay|线段树
题解 是我从来没有做过的裂点splay... 看的时候还是很懵逼的QAQ. 把最后一列的$n$个数放在一个平衡树中, 有 $n$ 个点 剩下的$n$行数, 每行都开一个平衡树,开始时每棵树中仅有$1$ ...
- UNIX和类UNIX操作系统
- myeclipse 中 svn 更新 提交 同步资源库 详细解释下他们的功能
原理是这样的 svn服务器一般放在公共的服务器上,大家连这个服务器,在MyEclipse上使用svn控件 可以下载svn上的项目至本地,所以很多公司将开发要用到的软件都放在svn上,有同事来只要连上s ...
- 【Linux】SVN的安装和配置
SVN SVN:SVN是Subversion的简称,是一种开放代码的版本控制系统,相比较RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制器服务已从CVS迁移到Su ...