[UWP开发]处理手机后退事件

众所周知,uwp程序是一套代码,可以run在不同的平台上。但是不同的设备肯定有其独特之处,所以针对这些独特之处,必须用“独特的代码”来处理。

所以微软提供了一系列的拓展类库来实现这种特殊处理。

如上图所示,红框中的便是拓展程序集。

当然实现手机后后退键处理,我们就需要把Mobile对应的程序集添加到我们的项目中去。

添加后只需要一段很简短的代码,我们就可以实现对后退按键的处理。代码很简洁。

if ("Windows.Mobile" == Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily)
                Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
       var rootFrame = Window.Current.Content as Frame;
       if (rootFrame.CanGoBack)
       {
             rootFrame.GoBack();
             e.Handled = true;
       }
}

if用来判断程序运行的平台,如果是Moblie,就注册一个处理后退的事件。如果不判断的话,编译不会出错,但在运行的

时候会发生错误。

那么这段段代码应该放在哪儿呢?

之前我一直都是放在单个页面的构造函数中,但后来发现随着页面增多会有问题。所以现在我把这段代码放在App.cs中,让它在程序的整个生命周期中只注册一次就行。

时间: 2024-12-27 19:26:49

[UWP开发]处理手机后退事件的相关文章

UWP开发砸手机系列(二)—— “讲述人”识别自定义控件Command

上一篇我们提到如何让“讲述人”读出自定义的CanReadGrid,但“讲述人”仍然无法识别CanReadGrid上绑定的Command.XAML代码如下: <StackPanel> <TextBlock Text="{x:Bind Title,Mode=OneWay}" Foreground="White"></TextBlock> <local:CanReadGrid Background="Red"

Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneGap.ionic.AngularJS这些框架或库的关系,我个人理解是这样,PhoneGap是一个商业项目,用来实现HTML5式的跨平台开发,后来Adobe公司将其中的核心代码开源,就是Cordova,Cordova只负责实现JavaScript调用原生代码的功能,是一个壳,而壳里具体用什么样式,在H

Win10/UWP开发—SystemNavigationManager

Win10系统为确保所有应用中的一致导航体验,提供后退导航功能.当你的应用在手机.平板电脑上或者在支持系统后退功能的电脑或笔记本电脑上运行时,系统会在"后退"按钮被按下时通知你的应用. 由你来决定要将哪些导航操作添加到导航历史记录以及应用如何响应后退按钮按下操作.参阅 UWP 应用的导航设计基础知识 以获取有关导航历史记录和后退行为的建议. 下面是每个通用 Windows 平台 (UWP) 设备类型提供的后退功能的分解情况: 电话 始终存在. 显示在屏幕底部. 提供应用内和应用间的后退

Windows10(uwp)开发中的侧滑

还是在持续的开发一款Windows10的应用中,除了上篇博客讲讲我在Windows10(uwp)开发中遇到的一些坑,其实还有很多不完善的地方,比如(UIElement.Foreground).(GradientBrush.GradientStops)[1].(GradientStop.Offset)这种设置无法生效,还有RelativePanel内的元素不能自动的适应大小,要去手动控制宽高度,以及窗口在靠边的时候一些尺寸上的错误等等.虽然是WPF技术之后的延续,但是很多地方还是要小心仔细的处理,

基于Prism.Windows的UWP开发备忘

以前做UWP开发都是使用MvvmLight,主要是简单易上手,同时也写了很多MvvmLight的开发系列文章: UWP开发必备以及常用知识点总结 UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享 UWP开发之Mvvmlight实践八:为什么事件注销处理要写在OnNavigatingFrom中 UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器.实体手机.PC)中应用的Log等文件 UWP开发之Mvvmlight实践六:MissingMetadataExcept

Windows10 UWP开发 - 响应式设计

Windows10 UWP开发 - 响应式设计 本篇随笔与大家简单讨论一下在开发适配不同分辨率.宽高比的Windows10 Universal App布局时的可行方式与小技巧.经验均从实践中总结,可能有诸多不完善和浅薄之处,欢迎读者严格指正.另外本文也只是抛砖引玉之用,希望能收获更多更好的实战经验. 自适配的必要性 说了这么多,我们首先可能会问了,为什么要做响应式设计?其原因有以下两点: Windows10的跨平台性 Windows10是微软宣称可以统一运行于PC&平板&手机&Xb

UWP开发入门(七)——下拉刷新

本篇意在给这几天Win10 Mobile负面新闻不断的某软洗地,想要证明实现一个简单的下拉刷新并不困难.UWP开发更大的困难在于懒惰,缺乏学习的意愿.而不是“某软连下拉刷新控件都没有”这样的想法. 之前我也没有进行过下拉刷新的研究.于是先去google了几篇blog学习了一下,然后再看了某软官方的Sample.(同学们啊官方有下拉刷新的Sample啊!就在Git上啊!不要钱无门槛啊!)学习之后发现实现的方式大体分为两类. 一类是以某软Sample和博客园MS-UAP封装的PullToRefres

Windows UWP 开发 - 前言

Windows 10 发布近一年了,Visual Studio 2015 也已推出 Update2,UWP 应用开发不仅时机成熟了而且也已经很方便了.所以我打算写一系列的文章来记录我是如何开发 UWP 应用的,对于我自己来说算是笔记,同时也供其它朋友参考.UWP 应用和之前的 WPF.Silverlight 非常相似,其 UI 部分基于 DirectX 技术,使用 XAML 描述构建,即灵活效果也很出色.逻辑代码支持 C++.C#.VB 和 JavaScript,因此对于绝大多数程序员来说开发语

uwp开发:Slider控件和MediaElement绑定,实现拖动播放。

1.实现原理: Slider拖动时,Value值改变,MediaElement播放时,Position值改变.所以,只需将Slider的Value属性和MediaElement的Position属性进行绑定即可. 2.实现方法: Slider的Value属性是double类型的,而MediaElement的Position属性是Timespan类型的,要绑定这两种不同类型的的话,就要用到Converter了,即值转换器.关于值转换器,可以百度,或者看IT追梦圆我写的这篇文章:数据绑定——值转换器