朱永光谈 WP7 开发特性与应用场景(一)

  • 贾国清

2012 年 8 月 6 日

话题:移动HTML5语言 & 开发

在 7 月 25 日,由天翼空间·开发者工厂主办,InfoQ 协助策划的第十七期专家讲坛活动上,微软 MVP 朱永光( @亿科朱永光)分享了 WP7 开发中关于控件、应用程序栏、磁贴、搜索可扩展性以及 Web 开发等话题。

Windows Phone 7 开发特性与应用场景——第一讲讲稿下载

控件主要包含基础控件(Silverlight 类库、Windows Phone 类库和 Toolkit 类库)、Bing 地图控件、主视图控件、WebBrowser 控件和第三方控件等。

在使用基础控件时,需要注意以下几点:

  • MultiScaleImage 是 Silverlight Deep Zoom技术的核心控件;
  • 如果要显示进度条,可以使用系统进度条ProgressIndicator,性能更好;
  • RichTextBox 只能只读,想编写只能使用第三方控件;
  • NavigationContext、NavigationService、显示屏幕方向属性、显示用来呈现页面的客户端区域、为状态栏和应用程序栏保留空间。

主视图控件主要分为全景(Panorama)和枢轴(Pivot)两种:

Panorama:与旨在适合手机屏幕边界的标准应用程序不同,全景应用程序通过使用超出屏幕边界的长水平画布提供了一个查看控件、数据和服务的独特方式。这些固有的动态视图使用分层动画和内容,以便各层以不同的速度流畅地平移,类似于视差效果。

Pivot:Windows Phone Pivot 应用程序提供一种管理视图或页面的快速方法。该方法可以用于筛选大型数据集、查看多个数据集或切换应用程序视图。例如,在页面上从左向右轻拂或平移可前进到下一页内容。

第三方控件则主要由Studio for Windows PhoneRadControls for Windows PhoneNetAdvantage® for Windows Phone组成,其中,Telerik 作为最强大的 Silverlight 控件提供商,基本延续了之前的丰富功能,主要控件和对应厂商有:

  • ComponentOne - Studio for Windows Phone
    • Calendar、Chart、FlexGrid、Maps、PdfViewer、RichTextBox
  • Telerik - RadControls for Windows Phone
    • DataBoundListBox、 Calendar、 Chart、 PickerBox、 JumpList、 LoopingList、 ListPicker、 Gauge
  • Infragistics - NetAdvantage® for Windows Phone
    • List、Data Chart、Gauge、Treemap、Bullet Graph、Barcode、Silder、Info Box

应用程序栏可以看做是简化后的工具栏和菜单栏的混合体,它为应用程序最常见的任务提供快捷的访问方式,可以为用户提供一致的操作体验,主要由三个部分组成:4 个按钮、1 个省略号,以及不限数目的菜单项。对于程序中常用的操作可使用图标按钮,对于某些操作很难用图标来明确传达时,可以通过使用菜单项来展现。永光给出了几点最佳实践:

  • 不要自己创建菜单系统
  • 使用默认的系统主题颜色
  • 避免对菜单项使用较长的文本
  • 避免在应用程序栏上使用 5 个以上的菜单项

在处理应用程序栏中按钮图片时,永光建议使用 SDK 中包含的图标,系统会自动根据 Dark、Light 来涂色,相关实践的建议有:

  • 图标图像大小应为 48*48 像素
  • 每个按钮上显示的圆形都由应用程序栏绘制
  • 图标图像应该在使用 Alpha 通道的透明背景上使用白色前景
  • 不要在页面堆栈中创建向后导航的按钮
  • 尽可能使图标按钮的标签简短
  • 当手机旋转时,选择具有明确含义的图标

磁贴是应用程序在开始菜单的入口,是最直观的信息展示界面,主要分为应用程序磁贴和从属(次要)磁贴两种,磁贴由正面和背面构成:

  • 正面:计数(1-99,0 不会被显示)、背景图片(BackgroundImage,jpg 和 png 格式,尺寸为 173*173,建议始终显示图片)、标题;
  • 背面:内容(BackContent)、背景图片(BackBackgroundImage)、标题(BackTitle)

最后,朱永光还提到了与 Web 开发相关的内容,WP 7 内置了 IE9 内核的浏览器,支持 HTML5,开发者可以利用 PhoneGap 等框架来进行跨平台开发。

关于讲师

朱永光,IT 自由人和环境保护者,微软最有价值专家(MVP)和 MCSD。15 年的编程实践经历,擅长使用软件相关技术和产品。目前主要关注动态语言、函数式语言、并行计算、云计算和 RIA。目前作为共同创始人经营一家环保技术公司,致力于通过 IT 技术来保护环境,并把环境保护里面引入 IT 领域的工作。

关于专家讲坛

天翼空间开发者社区专家讲坛是天翼空间开发者社区2012 年针对开发者推出的一项提升专业能力的系列讲座,每周二、四晚,邀请移动互联网开发领域的权威专家,通过语音频道专题讲座,线上论坛访谈,以及微博、QQ 群线上同步直播的形式,为社区的开发者用户提供系统的技术讲座,答疑,以及运营知识方面的培训。

往期内容回顾

关于专家讲坛更多详情,请浏览官方网站。InfoQ 也会对后续的活动进行跟踪报道。

关于社区活动的更多详情,欢迎查看 InfoQ 维护的社区活动日历,也欢迎关注 InfoQ 官网微博(@InfoQ),获取实时的活动信息!

移动HTML5语言 & 开发