简述Windows Phone 7应用程序开发平台
创始人
2024-07-17 04:21:54
0

51CTO曾经报道过微软推广Windows Phone 7时,Silverlight程序员必将成为赢家。“Silverlight for Windows Phone”是Windows Phone 7的应用程序开发平台。为Windows Phone 7开发Silverlight UI必须得了解Windows Phone 7应用程序开发平台Silverlight for Windows Phone。当你创建一个新的Windows Phone应用程序时,新解决方案包括Silverlight MainPage.xaml页面,在设计视图中,这个页面显示为Windows Phone 7用户界面的预览效果,如图1所示,你可以拖放控件到设计界面,实时查看Windows Phone 7屏幕的布局预览效果。当你在Visual Studio 2010中开发Silverlight应用程序时,如果你修改了XAML代码,你的修改将会反映到Windows Phone 7模拟器屏幕上。

Visual Studio 2010中MainPage.xaml预览视图,右侧为XAML代码 
图 1 Visual Studio 2010中MainPage.xaml预览视图,右侧为XAML代码

根据设计资料提供的信息,所有Windows Phone 7设备的屏幕通通是WVGA,无论屏幕大小如何,分辨率通通是800x480,固定的分辨率给UI设计带来了极大的方便,最大的缺点是用鼠标或开发工作站的触摸板无法模拟多点触控,但不要灰心,在CodePlex上有一个开源项目叫做Multi-Touch Vista,它允许你使用多个鼠标模拟两根手指在屏幕上实现多点触摸。

Multi-Touch Vista提供了兼容Windows 7的驱动,可以让多个鼠标兼容Windows Phone 7模拟器,例如,你可以在笔记本电脑上接上一个USB鼠标,加上笔记本自带的触摸板,就可以用它们模拟两根手指实现多点触摸。

Windows Phone应用程序的项目结构和传统的Silverlight应用程序结构类似,但Windows Phone项目增加了一些专有引用和文件,图2显示了一个WPBusinessApp示例项目的项目结构,它是Visual Studio 2010创建的Windows Phone应用程序项目默认结构。

解决方案资源管理器显示的Windows Phone应用程序项目结构
图 2 解决方案资源管理器显示的Windows Phone应用程序项目结构

你会发现在Properties文件夹下有一个WMAppManifest.xml文件,这个XML文件定义了从操作系统角度来看的资源和功能,下面的代码片段显示了这个文件的默认内容,假设项目名是WPBusinessApp:

  1.  
  2.  
  3.  xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" 
  4.  AppPlatformVersion="7.0"> 
  5.  
  6.  Title="WPBusinessApp" RuntimeType="Silverlight" Version="1.0.0.0" 
  7.  Genre="apps.normal" Author="WPBusinessApp author" 
  8.  Description="Sample description" Publisher="WPBusinessApp"> 
  9.  
  10.  IsResource="false">ApplicationIcon.png 
  11.   
  12.   
  13.   
  14.   
  15.   
  16.   
  17.   
  18.   
  19.   
  20.   
  21.   
  22.   
  23.  
  24.  NavigationPage="MainPage.xaml"/> 
  25.   
  26.   
  27.  
  28.  TaskName="_default"> 
  29.   
  30.  
  31.  IsResource="false">Background.png 
  32.  0 
  33.  WPBusinessApp 
  34.   
  35.   
  36.   
  37.   
  38.   

WMAppManifest.xml文件中的部分定义了Windows Phone需要的功能列表,默认情况下包含了所有的功能,但为了安全起见,你最好移除不需要的功能,如果你尝试使用一个功能列表中未包含的功能,你会收到UnauthorizedAccessException异常。

功能列表中的名字也很容易理解,例如,ID_CAP_LOCATION表示你要访问包括在System.Device.Location命名空间中的本地(location)服务,但有些功能关联的命名空间和类很多。

WMAppManifest.xml文件还定义了图标,背景图像和应用程序标题,你可以用PNG位图文件作为图标,默认图标文件是ApplicationIcon.png,默认背景图像是Backgroud.png,你可以编辑XML代码或在项目属性的“应用程序”标签页修改这些属性的值,如图3所示。

项目属性窗口中的“应用程序”页
图 3项目属性窗口中的“应用程序”页

默认情况下,项目包含两个Windows Phone相关的引用:Microsoft.Phone和Microsoft.Phone.Interop,Windows.Phone提供访问Microsoft.Phone.Controls和Microsoft.Phone.Shell的功能,如果你要使用传感器,还需要增加Microsoft.Devices.Sensors的引用。

原文出处:http://www.drdobbs.com/windows/227701092;jsessionid=0LPPSGFA3UDNBQE1GHPSKH4ATMY32JVN

原文名:Developing a Silverlight UI for Windows Phone 7

作者:Gaston Hillar

【编辑推荐】 

  1. Windows Phone 7 UI设计理念
  2. Windows Phone 7 UI设计菜单:代码隐藏文件和启动画面
  3.  Windows Phone 7 UI设计菜单:理解MainPage.xaml
  4. Windows Phone 7开发工具发布更新包 附下载地址
  5. 微软推Windows Phone 7 Silverlight程序员成赢家

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...