转自:http://www.cnblogs.com/liubaicai/p/4368261.html
自带的几种风格的页面,竟然是用的左上角虚拟后退键,这种倒行逆施的行为微软你真是够了!
一定要把后退功能找回来!!
于是就用到了扩展api:
1.Add References
2.选择 Universal App Platform – Extensions
3.勾选Windows Mobile Extension SDK
4.愉快的使用 Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
这句代码放到win10桌面里运行是会crash的,因为桌面版里没有此API,所以需要用
Windows.Foundation.Metadata.ApiInformation.IsTypePresent(“Windows.Phone.UI.Input.HardwareButtons”)
运行时判断是否有该API的支持。
于是,最后的代码可能是这样:
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
//http://www.liubaicai.net/archives/444
Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
1
2
3
4
5
6
7
8
9
private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
//http://www.liubaicai.net/archives/444
e.Handled = true;
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame.CanGoBack)
rootFrame.GoBack();
else
Application.Current.Exit();
}