31 Days of Windows Phone | Day #3 The Back Button Paradigm
本文转自jeffblankenbug blog. http://www.jeffblankenburg.com博客,已每天笔记的形式发表Windows Phone 7 文章.目前JeffblankBug 的Windows Mango 31开发日记 文章已经写到第24天了。由于自己已经看他的博客时很快就看完了,看了以后没有什么感觉,现在用笔记的的形式记录下来,加深影响,加深理解,希望不要看过后就全忘记了。
上一篇介绍了页面之间导航,我们可以简单的调用NavigationService实现不同页面之间跳转。我们有简单的提到返回按钮,在这编文章里将介绍回退按钮复杂功的功能。因为在这里将介绍怎样重新覆盖回退按钮。
How The Back Button Work
回退按钮式怎样工作的。
你可以想象一下这里的回退按钮就向浏览器的后退按钮,你能后选择后退返回到你原浏览过的历史页面,你可以返回到多站点的历史页面面,Windows Phone 的回退按钮功能也是相同的,你可以通过后退按钮返回到你以前在同一应用内曾经访问过的页面,还可以返回到其它应用你曾经访问的历史页面。
例如:
1、打开联系人功能
2、从联系人列表中选择“jeffblankenburg”
3、选择家庭地址,(查看地址在地图应用上的位置)
4、选择开始按钮
5、开始玩游戏
当我们选择后退按钮,可以从列表中倒序向前返回所有的页面。
Overriding The Back Button
重新覆盖返回按钮功能。
是的,你可以重新覆盖返回按钮的功能呢。可以禁止返回到历史页面的功能。
例如:你需要启动弹出对话框风格的页面,这时候如果不禁用回退按钮,可能会退出应用或返回到你不是你需要的页面,你仅仅只需要关闭弹出对话风格页面而已。
还有就是你游戏是依赖于及时在线的。这时候就不适合应用回退按钮终止游戏,可以通过回退按钮暂停游戏。以上在执行的时候需要参考如下原则:
1、你必须考虑后退按钮发生的在某个时间点。
2、如果用户第二次选择后退按钮,那就应该用默认行为发生。
3、如果用户选择回退按钮暂停游戏,如果用户第二次选择回退是应该又用户实现回退原因功能,
一下是禁止回退按钮功能的代码:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
}
下一篇将介绍设备方向。怎样操控竖屏和横屏。