上篇我们讨论了页面导航以及如何调用NavigationService来到达程序中的页面。返回按钮前面也简略提到过,但是鉴于返回按钮的复杂性,简单说来你能够重写返回按钮的功能。
返回按钮如何工作
把返回按钮想成是在你的浏览器中,你可以点击它来返回到先前做的决定树中。他是你往返于不同站点,以及这些站带你中的每一个页面。Windows Phone返回按钮起一样的作用,他将会带领你回到先前访问过的页面,甚至是不同的程序!
例如,如果我们:
1 打开任务hub
2 选择联系人列表中的“Jeff Blankenburg”
3 点击它的家庭地址(将会带你进入地图程序)
4 点击开始按钮
5 开始玩游戏
当我们点击了返回按钮,我将会通过先前的时间列表返回。
重写返回按钮
是的,你读的正确。你可以重写返回按钮从而让他做你想做的任何事情,这并不是给予你形式不可靠的力量的允许。在任何时候,如果你想重写返回按钮,你应当确认你考虑过了用户所想的返回。
例如,如果你启动了一个弹出式的窗口,很有可能用户的肌肉记忆使得他们点击back按钮来取消。这个案例中,他们的意图并不是离开程序而是拜托弹出窗口。
另一个例子,如果你有一个程序依靠timer或是实时动作,使用back按钮来暂停游戏而不是让用户立即离开游戏将会是很前恰当的,但是第二次点击意味着他们想离开程序。
哲理诗Windows Phone 7中重写返回按钮的代码。享受他们吧!
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
//Your code goes here. Be responsible.
e.Cancel = true; //Cancels the default behavior.
}
下篇,我们将会讨论页面转向,以及如何来处理垂直和水平布局。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-3-The-Back-Button-Paradigm.aspx