[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 @ 2015-11-17 23:56  DemoApp  阅读(1239)  评论(4编辑  收藏  举报