[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中,让它在程序的整个生命周期中只注册一次就行。

 

posted @   DemoApp  阅读(1240)  评论(4编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示