Windows Phone开发-开发环境和结构

摘要:
Windows Phone 7.1的开发工具已发布。我一直在密切关注WP7,现在我终于可以开始学习了。事实上,我在2009年学习了Silverlight,并看到了3的SDK文档。当时,由于工作原因,我没有间歇性地坚持它,所以这次我学习了WP7并重新学习了SL。上周,我安装了WP7.1的开发环境,并在工作后阅读了一周的文档。目前,大多数关于WP的学习文件都是英文的。一本中文书出现在中文酒吧,但推荐MSDN

      Windows Phone 7.1的开发工具发布了,一直对WP7很关注,现在终于可以开始学习了。其实09年就学习过silverlight,看过3的SDK文档,当时因为工作,断断续续也没有坚持下来,所以这次学习WP7顺便重新学习SL。

     上周安装了WP7.1的开发环境,工作之余看了一周文档。目前关于WP的学习文档大多是英文的,chian-pub上出现了一本中文的书,不过还是推荐看MSDN,上面有最新的WP7.1的内容,毕竟7.1进行了较大的更新。我写Windows Phone开发的文章主要是对自己看的文档进行一个提炼和记录,主要针对wp7.1Beta。

一 Windows Phone 学习资料

目前主要的学习资料还是来至于微软MSDN和《Programming Windows Phone 7》,其中MSDN包含了最新的7.1Beta特性的介绍和使用。一些中文网站和原创的BLOG文章基本也是来自这些地方。而MSDN杂志每期有对Windows Phone介绍的文章。关于界面开发可以参考Silverlight开发。

Windows Phone 中文开发中心 

Windwos Phone Development 

Silverlight for Windows Phone

Phone Platform Development

Windows Phone developer documentation

Programming Windows Phone 7

视屏学习资料

Windows Phone 7 中文开发资料概览

MSDN杂志

二 Windows Phone 开发环境

微软在5月份发布了代号Mango的最新开发工具,Windows Phone Developer Tools 7.1 Beta (点击下载ISO文件) 

系统要求:

  • 操作系统:Windows Vista SP2 / Windows 7
  • 硬件要求:4G硬盘空间 3G内存
  • 手机模拟器:DirectX10以上显卡,WDDM1.1驱动

安装准备:

  • 如果没有安装VS2010,可以直接安装Windows Phone Developer Tools 7.1 Beta,他会自带Express版本的VS2010 for Windows Phone
  • 如果安装了VS2010专业版或者更高版本,可以直接安装,但是必须把VS2010的语言修改成同Windows Phone Developer Tools 7.1 Beta相同的语言
  • 如果安装了VS2010 RTM版本,必须先安装VS2010 SP1(点击下载ISO文件) 
  • 如果安装了非英文版本的Windows Phone Developer Tools 7.0或 Expression Blend,必须先卸载在进行安装

PS:我之前安装了VS2010中文旗舰版,所以先安装了SP1(安装SP1时第一次到了一半就停住了,后来我查了说可能缺少文件,就把VS2010的ISO也加载到虚拟光驱中然后就通过了),但是因为Windows Phone Developer Tools 7.1 Beta目前只有英文版的,所以安装完成后,并没有在VS2010中集成WP7开发模板,但集成了XNA Game Studio的开发环境;而是安装了VS2010 Express for Windows Phone。

Windows Phone开发-开发环境和结构第1张

三 第一个Windows Phone 7程序

Windows Phone开发-开发环境和结构第2张

我们可以看到其中有很多模板可以选择,下面进行简单介绍,具体可以建立相应项目查看

  • Windwos Phone Application: 创建一个普通的Windows Phone应用程序
  • Windwos Phone Databound Application: 创建一个和数据绑定有关的项目,使用列表和导航控件
  • Windows Phone Class Library:创建一个类库项目
  • Windwos Phone Panorama Application: 创建一个全景应用项目,使用全景Panorama控件
  • Windwos Phone Pivto Application:创建一个枢轴应用项目,使用Pivto控件
  • Windwos Phone 3D Graphics Application: 创建一个XNA框架支持的项目(WP7.1可以silverlight和XNA集成)
  • Windwos Phone Audio Playback Application:创建一个音频播放的类库项目
  • Windwos Phone Audio Streaming Application:创建一个音频流的类库项目
  • Windwos Phone Task Scheduler Agent:创建一个后台任务代理项目(WP7.1中新增了后台多任务代理)

Windows Phone开发-开发环境和结构第3张

选择了项目模板之后,就要选择Windows Phone的开发版本,目前有7.0和7.1可以进行选择。

Windows Phone开发-开发环境和结构第4张

上图就是WP7的开发环境,如果有开发过silverlight,应该不会陌生。左边是图形的界面环境,其他.NET其他开发环境一样,可以拖控件来布局。而右侧是页面的XAML代码,可以通过编写XAML来布局。关于XAML可以参见MSDN(点击打开)

我们的第一个程序要实现的是点击页面上的一个按钮导航到下一个页面:

1 在MainPage.xaml中添加一个按钮,并且添加触屏事件,代码如下

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">    <Button Width="250" Height="75" Content="Next Page" ManipulationStarted="Button_ManipulationStarted"/></Grid>

2 为项目添加一个新的页面,鼠标右键--ADD--New Item--Windows Phone Portrait Page,名字为Page1.xaml,在次页面中添加一个文本和一个返回按钮,代码如下:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">    <TextBlock VerticalAlignment="Top" HorizontalAlignment="Center" Margin="166,143,178,0">Hello World!</TextBlock>    <Button Width="200" Height="75" Content="Back" ManipulationStarted="Button_ManipulationStarted"/> </Grid>

3 为MainPage.xaml的触屏事件和Page1.xaml触屏事件添加代码(和C#其他项目一样,也是采用code-behind,代码在xaml页面的cs文件中)

//MainPage.xaml
private void Button_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
this.NavigationService.Navigate(new Uri("/Page1.xaml",UriKind.Relative));
}
//Page1.xaml
private void Button_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{    this.NavigationService.GoBack();}

4 编译后点F5运行程序,模拟器第一次启动需要等待(我也没有真机,所以无法进行真机调试)。然后点击Next Page按钮程序将导航进入到第二个界面。第二个界面中点击Back导航回前一个界面。可以发现Windows Phone程序同Web程序页面有点类似,都是Page导航的概念,这个和之前WM平台很不一样。但是使用过WPF或Silverlight就没有什么特别的。

Windows Phone开发-开发环境和结构第5张

 5 进入第二个页面后,点击【<--】按钮也能退回到第一个界面,在点【<--】按钮,就会关闭程序。要注意的是,Windows Phone目前没有提供任何退出程序的Exit方法,都是通过在第一个页面点击【<--】按钮退出程序。在程序中点击中间的Home按钮返回到Home列表,此时程序会进入休眠(WP7.1)或墓碑(WP7.0)状态,这个后面会介绍。

至此我们完成了第一个Windows Phone程序,它很简单,看起来和写一个普通的Silverlight程序没有太大的区别。

四 Windows Phone项目结构

项目建立好之后,包含了以下一些文件:

Windows Phone开发-开发环境和结构第6张

  • AppManifest.xml : 此文件中包含一个<Deployment.Parts>的节点。如果需要调用XAP文件中包含的其他Assembly的DLL文件,就会在此节点下添加一个<AssemblyPart/>节点来列举这些文件,可以参见这里
  • AssemblyInfo.cs : 这个文件包含了对当前程序集的信息,可以在属性页面进行设置
  • WMAppManifest.xml : 这个文件主要记录了程序的起始页面,APPID,作者,图标设置和程序功能设置。其中<Capabilities/>节点定义了程序的功能,比如ID_CAP_PHONEDIALER表示可以使用电话功能,如果没有这个节点,调用相应功能时就会出错,详细介绍见这里。相对于7.0,7.1增加了对相机,联系人,约会提醒功能。
  • App.xaml : 这个文件App类继承与Application类,它并没有可视化界面,<Application.Resources/>一般用来存放资源数据共全局使用。而<Application.ApplicationLifetimeObjects/>节点下定义了与执行模型相关的一些方法。
  • App.xaml.cs : App类的另一部分,代码包含了程序初始化操作和执行模型相关的一些方法的实现。
  • ApplicationIcon.jpg : 显示在程序列表中的图标,大小为62*62
  • Bcakground.jpg : 在程序启动时显示的图标,大小为173*173s
  • MainPage.xaml : 程序启动后默认显示的第一个页面,用户也可以在WMAppManifest.xml中指定启动页面。
  • SplashScreenImage.jpg : 程序启动时显示的欢迎界面,大小为480*800,这个和设备有关。

以上介绍了一个Windows Phone项目的结构,和Silverlight程序结构很类似。只是配置文件上有些区别。

五 总结

这里完成了Windows Phone 7.1环境的搭建,并完成了第一个Windows Phone程序,对于程序模板和项目结构有了一个认识。下一篇将介绍Windows Phone框架结构,以及程序启动运行方式。

原文地址:http://blog.csdn.net/cc_net/article/details/6552867

免责声明:文章转载自《Windows Phone开发-开发环境和结构》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇qt调用仪器驱动库dll实现程控WFLoader、Module和RemoteObject失效原因下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF简介

  要赢得世界,必须在恰当的时间做出恰当的事。这一点,微软做到了。历经微软 DOS,Win 31, Windows 95, Windows 98, Windows 2000, Windows XP, 一路走来,一次比一次热闹,一个比一个精彩、炫丽。Windows Vista的宣传更是轰轰烈烈,喧嚣日上。初见Windows Vista,都会被它的酷炫界面所...

Windows下改变右键新建菜单中“文本文档”名称方法

我个人比较喜欢用快捷键,经常新建.txt文件,以前用英文版XP时,只需在桌面或文件夹空白位置点击右键,然后按键盘“W”(New),再按“T”(Text Document),就可以新建.txt文件了,而且平时左手就放在键盘上,如此操作连着来就很快很方便。但是在中文版系统中,新建菜单里是“文本文档”,按“T”时没有用,需要鼠标移动过去,因此觉得效率较低。 通过...

windows系统下将"java -jar"注册成 windows 服务,windows 查看端口占用并关闭

目录: 1、windows系统下将"java -jar"注册成 windows 服务2、windows 查看端口占用并关闭(管理员权限)3、删除服务(管理员权限) 1、windows系统下将"java -jar"注册成 windows 服务    <--返回目录    demo.bat @echo off d: cd d:scripts jav...

WINDOWS SERVER 2008 R2安装指南

说明:适用于以下几种操作系统: 1.Windows Server 2008 Standard Endition R2 2.Windows Server 2008 Enterprise Endition R2 3.Windows Server 2008 Datacenter Endition R2 一、准备工作 根据服务器主板支持的SAS卡型号下载相应驱动程...

(转)Windows Server 2012 R2桌面化详细设置图解

一、任务栏左下角启动服务器管理器,然后进行设置。 1、登录不显示服务器管理器 2、本地服务器,看到右边的IE增强的安全配置,如图所示,关闭两项内容。这样就关闭了IE增强安全提示框。 3、“工具”菜单,启动“服务”,启动两项声音服务(Windows AudioWindows Audio Endpoint Builder),并设为自动属性。 4、 “管...

Windows系统下MySQL添加到系统服务方法(mysql解压版)

MySQL软件版本:64位 5.7.12 1、首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以“;”结束,我的路径配置如下: 2、修改MySQL根目录下的my-default.ini文件的内容;主要修改2个属性:basedir和datadir。 basedir:MySQL的根目录; datadir:数据库数据...