Silverlight桌面应用程序的大部分代码无需修改就可以直接在Windows Phone上编译运行。将成熟的Silverlight应用从桌面往手机移植时需要特别关注的是一些细节,这可以在改写和优化两步中进行。
第一步,改写成可以在手机上运行应用程序。
用Windows Phone 开发工具建立新项目,并从桌面应用程序中复制相关代码。用Frame和Page 进行导航的桌面应用需要改成基于PhoneApplicationFrame和PhoneApplicationPage进行导航的手机应用。有网络接口的应用程序,需要确认网络服务(Web Service)的接口类型,必要时重写网络接口部分。最后通过编译找到和修改可能存在的其他移植问题。
第二步,需要对应用程序进行针对手机的优化。
用户界面需要针对手机屏幕的大小和分辨率进行优化。由于手机屏幕的尺寸限制,原用户界面上的文字可能会太小,不便阅读或触控。调整后的文字不应该硬编码,字号设置成15以上。触控区域应不小于9平方毫米或34像素。
手机屏幕有纵向的肖像模式(480 × 800)和横向的风景模式(800 × 480),应用程序应该考虑同时支持两种模式。Grid和StackPanel控件的灵活性高,适合于兼顾横向和纵向两种模式的应用程序。而Canvas控件使用屏幕上的绝对坐标值,对实现的依赖性高,所以适用于屏幕是单一横向或单一纵向模式的应用程序。考虑到有些手机配有硬件键盘,必要时应该禁止键盘输入。
优化用户界面风格时应该遵循Metro风格,也就是简洁、明确、便于移动中操作。可以选用全景视图或枢轴视图,便于用户快速在页面间浏览。还可以选用菜单栏,便于用户进行最常用的操作。
优化ListBox等控件的实现,就能支持手势输入。对用户自定义控件可以增加单击、双击等鼠标事件的支持,从而支持相应的手势输入。
一些应用程序的功能,如动画可能需要重新编码,以满足用户期望的性能。
使用网络服务的应用程序,需要考虑相应网络性能的优化。除了需要考虑手机上网络带宽的限制,还要充分考虑到网络延迟对应用程序性能的影响。在进行数据传输前,需要提前激活无线模块。依赖于互联网的应用程序,应该在独立存储区中缓存数据,并在网络中断时及时报错。如果应用程序频繁请求网络服务(Web Service),应该使用缓存机制收集数据、集中发送,以降低连接频率、提高效率。如果应用程序需要等待来自网络服务的更新,应该使用微软推送通知服务来及时收到通知。对后台运行的应用程序可以使用弹出通知,而前台运行的应用程序可以使用原生通知。
此外,应用迁移时还可以扩展原有应用程序功能,使用GPS、照相机等硬件,发挥手机独特的优势。

转载于:https://blog.51cto.com/felixyan/527298

从桌面向手机移植Silverlight应用相关推荐

  1. vnc远程桌面_手机vnc远程桌面,手机vnc远程桌面,使用配置详解

    手机vnc远程桌面,手机vnc远程桌面除了可以应用于在Windows 操作系统下面可视化地远程Linux操作系统,还可以在安卓操作系统下面可视化地远程连接windows的操作系统,两者都需要在需要被远 ...

  2. 手机vnc远程桌面,手机vnc远程桌面教程,配置详解

    手机vnc远程桌面,手机vnc远程桌面除了可以应用于在Windows 操作系统下面可视化地远程Linux操作系统,还可以在安卓操作系统下面可视化地远程连接windows的操作系统,两者都需要在需要被远 ...

  3. readhat 远程可视化桌面_手机vnc远程桌面,手机vnc远程桌面,使用配置详解

    手机vnc远程桌面,手机vnc远程桌面除了可以应用于在Windows 操作系统下面可视化地远程Linux操作系统,还可以在安卓操作系统下面可视化地远程连接windows的操作系统,两者都需要在需要被远 ...

  4. 手机vnc远程桌面,手机vnc远程桌面的配置说明

    手机vnc远程桌面,手机vnc远程桌面除了可以应用于在Windows 操作系统下面可视化地远程Linux操作系统,还可以在安卓操作系统下面可视化地远程连接windows的操作系统,两者都需要在需要被远 ...

  5. 手机vnc远程桌面,手机vnc远程桌面教程加配置说明

    手机vnc远程桌面,手机vnc远程桌面除了可以应用于在Windows 操作系统下面可视化地远程Linux操作系统,还可以在安卓操作系统下面可视化地远程连接windows的操作系统,两者都需要在需要被远 ...

  6. 魅族手机怎么把计算机放到桌面,魅族手机怎么与电脑互传文件 如何访问电脑文件...

    魅族手机可能没有其它几大品牌火热,但其也有好的手机出现,也是有人选择的,价格也亲民,内存.配置也都让人很满意,但是手机用久了经常提示储存空间已满,更换大的储存卡需要花费很多钱,如果把手机的文件传图电脑 ...

  7. 手机远程linux桌面,centos8安装xrdp远程桌面,Android手机连接linux桌面

    前言 毫无疑问手机已经成为了生产力,有时我们想用安卓手机远程连接centos/ubuntu/debian等linux系统,该怎么办呢? ssh连接可以远程访问终端,xrdp和vnc可以让我们远程连接l ...

  8. 华为手机如何把计算机添加到桌面,华为手机一键锁屏添加桌面快捷方式的操作步骤...

    华为手机作为拥有便捷高稳定性的国产智能手机代表,其品牌的美誉度,很多来源于实践应用的效果.科技与实用相结合,美观与实用相结合,精致贴心满足大众生活需要,更轻松的满足了一众之所需,刚刚好是华为手机的主要 ...

  9. 手机桌面计算机显示,手机如何显示在桌面?敬业签电脑手机同步云便签怎么在桌面显示便签?...

    原标题:手机如何显示在桌面?敬业签电脑手机同步云便签怎么在桌面显示便签? 敬业签云便签支持在手机桌面和电脑桌面上同步使用,手机可以通过桌面小工具或者小组件在桌面显示敬业签中的便签内容,电脑可以安装pc ...

最新文章

  1. js用.和[]获取属性的区别
  2. mysql2tb_MySQL2
  3. 【Go语言】【12】GO语言的结构体
  4. Eclipse配置Android开发环境
  5. 倒数日怎么设置起始日_起始价131亿!杭州江河汇流区85万方综合体招标延期
  6. QT的QTransform类的使用
  7. 【POJ - 3177】Redundant Paths(边双连通分量,去重边)
  8. 在python中sqrt是什么意思_python中sqrt是什么意思
  9. 如何显示win11隐藏文件
  10. HDU 2087 剪花布条 KMP入门
  11. java调用linux系统命令_java 调用linux系统命令
  12. 太极root权限_太极iOS 8.4完美越狱曝安全隐患:Root权限易获取
  13. mysql置疑原因_SQL Server置疑数据库解决方法
  14. 利用LiveReload插件实现vscode和谷歌浏览器实时刷新
  15. 20171205_Matlab求方差,均值,均方差,协方差的函数
  16. java mybatisplus Error parsing time stamp
  17. UMLChina公众号文章精选(20220126更新精选)
  18. Javascript中Math常用操作,向上取整、向下取整、四舍五入
  19. 智能家居雷声越来越大 雨点还是那么小
  20. 修改进程的各种limits的方法

热门文章

  1. ActiveMQ 学习(VM Transport)
  2. 鲁迅散文——随感录三十五
  3. java之spring mvc之初始spring mvc
  4. python使用openpyxl操作excel总结
  5. VS code配置docker的shell环境
  6. mybatis多排序问题
  7. oracle过滤某个字段重复记录,只获取一条记录
  8. Beta阶段发布说明
  9. 找到了一些很好的算法书和试题
  10. android中活动的启动模式