Win(Phone)10开发第(1)弹,桌面和手机的扩展API,还我后退键
2024-10-19 00:26:13
喜大普奔的win10 uap开发预览版终于出了,这次更新跟8.1的变化不是很大,但是将原本win8.1和wp8.1uap的分项目的形式,改为了整合成一个项目,经过一次编译打包成一个appx包,实现了无缝跨平台。
每一个平台特有的API,就变为了扩展API,以下几种
下面,就以wp特有的后退键为例,看一下不同平台扩展api的使用。
如果你新建一个win10UAP的项目,跑在wp上运行,你会发现,后退键竟然他喵的是后台!这不是抢Home键的饭碗么!
自带的几种风格的页面,竟然是用的左上角虚拟后退键,这种倒行逆施的行为微软你真是够了!
一定要把后退功能找回来!!
于是就用到了扩展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的支持。
于是,最后的代码可能是这样:
1
2
3
4
5
|
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(); } |
于是就愉快的实现了后退键后退的功能。
最新文章
- 第六课——UIDynamicAnimator
- ASP.NET中处理异常的几种方式
- Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener(Maven工程)
- CF_91B
- js的eval方法
- UESTC_秋实大哥与战争 2015 UESTC Training for Data Structures<;Problem D>;
- Mactype 解决字体出现剃尾
- 设计模式Adapter模式的五分钟
- 从OneNote走出,技术博客养成记
- 初识php soap 学习过程中的摘抄,便于后期翻阅
- Django Form表单组件
- GitHub-创建仓库与本地同步
- Appium学习笔记3_Genymotion模拟器安装
- cxf 方法添加注解
- Confluence的简单安装以及与jira链接(Confluence不知道有没有破解)
- sparkr基本操作1
- [C#]嵌入互操作类型
- Gradle系列之从init.gradle说起
- flink ha zk集群迁移实践
- c++对象模型是什么,对象的内存布局和结构问题
热门文章
- 删除链表中的重复元素:不留&;留一个&;删除一个
- 215. Kth Largest Element in an Array(QuickSort)
- 观察者模式 DataObserver
- 坑爹的HP
- .net core webapi 部署windows server 2008 r2 笔记
- MacOs执行SQL出错(mysql)
- workerman使用
- [Selenium]验证点了某个Button之后无反应
- 2018.10.14 NOIP训练 圣诞树(简单dp)
- pyhthon lambda