前言

上一篇讲述了Windows Phone 7开发环境的搭建,这篇文章讲述如何创建,部署,调试以及运行Silverlight for Windows Phone应用程序,同时介绍如何Microsoft Visual Studio 2010 Express for Windows Phone和Windows Phone Emulator(模拟器)的使用。在文章中会建立一个叫做SilverRadio的Silverlight for Windows Phone应用程序,我把这个程序取名为银光收音机,这个程序用于收听网络电台节目。

新建Silverlight for Windows Phone项目

点 击 Start -> All Programs -> Microsoft Visual Studio 2010 Express -> Microsoft Visual Studio 2010 Express for Windows Phone 。启动Microsoft Visual Studio 2010 Express for Windows Phone

在File菜单下点击New Project。

在New Project对话框下选择Silverlight for Windows Phone模板目录,然后选择Windows Phone Application模板,项目名字取名为SilverRadio,然后点击OK按钮。

一个Silverlight for Windows Phone的项目就创建成功了,下面看看Windows Phone Application模板为我们创建了那些文件。

模板生成的文件结构

在Solution Explorer(解决方案浏览器)可以看到Windows Phone Application 模板为SilverRadio项目所创建以下的目录结构和文件。

App.xaml和App.xaml.cs定义程序的入口点,初始化应用程序级别的全局静态资源(StaticResource)和启动程序的页面。Beta版本把一些全局资源的定义从App.xaml移走了,原先可以看到定义的源代码,现在需要参考各个全局静态资源的定义,请参考这篇文章Theme Resources for Windows Phone。
MainPage.xaml和MainPage.xaml.cs定 义一个UI的页面,通常Silverlight程序的模板会生成一个叫做MainPage.xaml和MainPage.xaml.cs的UI页面作为默 认的启动UI,但是UI启动页面不是必须取MainPage作为名字,使用MainPage只是一个惯例。如果需要修改第一个启动页面可以在 WMAppManifest.xml 修改下面的代码。

    <Tasks>       <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>     </Tasks> 

ApplicationIcon.png是在Phone application List显示的图标,例如在下面模拟器显示SilverRadio的图标。

Background.png用于start screen(启动屏幕)显示的图标
SplashScreenImage.jpg 当程序启动之后,在第一个页面启动之前显示的图片。

Properties\AppManifest.xml 用于定义程序打包文件(manifest)。 Silverlight程序最终会打成XAP包,这个XAP包是zip格式的文件,里面包含了程序需要用到的所有资源(例如图片,声音文件等等),和依赖 的第三方DLL等等。AppManifest.xml文件用于定义打包的结构, 下图为生成的xap的。

如果把SilverRadio.xap文件改名为SilverRadio.zip,然后解压,能看到程序发布时候所有的文件,这些文件的结构由AppManifest.xml来进行定义。

Properties\AssemblyInfo.cs 包含版本信息等源数据(metadata),这个文件与ASP.NET,Winform程序中的AssemblyInfo.cs文件功能一致。

Properties\WMAppManifest.xml 与AppManifest.xml一样也是用来定义程序的打包文件,但是WMAppManifest.xml专门指定Windows Phone Silverlight应用程序相关的源数据(metadata),例如上述的启动页面MainPage.xaml的定义包含在 WMAppManifest.xml里面。

一般来说不要手工修改WMAppManifest.xml和AppManifest.xml文件,可以通过项目属性文件来修改。如下图:

右键选择项目的属性。

修改的属性会保持到WMAppManifest.xml和AppManifest.xml文件里面。

References 文件夹显示一些依赖的DLL等相关资源,由于Windows Phone Beta版把多个DLL合并到Microsoft.Phone.dll一个里面,所以项目包含了Microsoft.Phone.dll和 Microsoft.Phone.Interop.dll两个Windows Phone相关的DLL(CTP版本包含更多其它DLL),如果需要使用到其他DLL,例如在我们系列教材中会使用到LINQ for XML,那么会把System.Xml.Linq.DLL增加到References文件夹里面。

由于发稿到《程序员》杂志,暂时不能发全文,全文见  Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序

转载于:https://www.cnblogs.com/procoder/archive/2010/09/27/Silverlight-for-Window-Phone-First-Silverlight-Program.html

Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序相关推荐

  1. 微信小程序开发系列七:微信小程序的页面跳转

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  2. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  3. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...

  4. 微信小程序开发系列二:微信小程序的视图设计

    大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...

  5. ZYNQ开发系列——把PS和PL程序烧写到FLASH中

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--把PS和PL程序烧写到FLASH中 生成 fsbl.elf 生成 BOOT.bin 下载 BOOT.bin 文件到 ...

  6. 微信小程序开发系列 (四) :微信小程序的页面跳转路由设计

    笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识.这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助. 本教程前面三篇文章: 微信 ...

  7. Silverlight for Windows Phone 7开发体验

    直接下水 正如学习游泳应该下水尝试一下,而不是坐在教室里看书,学习Windows Phone 7开发技术也应该亲身实践一下,而不是仅仅翻阅资料.那么,怎样实践呢?不必想得太复杂,这里所说的实践就是找个 ...

  8. Windows Phone 7 开发系列教程之 初识Windows Phone 7,环境配置

    简介篇 WP7 是微软推出的一款移动OS,用于对抗IPhone.Android,BlackBerry等其他的移动OS.目前最新的版本为Windows Phone 7.5,当然这是一个面向用户的版本号, ...

  9. 学习Windows Mobile开发系列笔记(win32基本程序框架)

    一直对Windows Mobile开发很有兴趣.去年已经做过一个这方面的项目了,虽然自己看了很多资料,但是没有系统的学习过.现在应该还只是个入门者吧. 现在想系统的学习一番,我决定把Windows M ...

最新文章

  1. 基于图像到UV Map映射的3D手部高保真重建网络(ICCV2021)
  2. 大数据玩家们对2013年趋势的预测
  3. 【实用】SAP修改记录表开发
  4. 数学作图工具_八十中成功举办北京市初中数学教学研讨会
  5. JS模式--状态模式(状态机)
  6. 再次实践 MySQL chart - 每天5分钟玩转 Docker 容器技术(166)
  7. 台湾印象之三:吃与喝
  8. 初识openstack
  9. python保存为excel文件_初级Python:在excel文件打开时保存它
  10. 终于找到了满意的博客主题
  11. java image getscaledinstance_使用getImage()和getScaledInstance()调整java.awt.Image的异常大小...
  12. 12月第2周业务风控关注 | 公安部:严打自媒体“网络水军”违法犯罪,关闭大V账号1100余个...
  13. Linux系统编程 -- 多线程之基于阻塞队列生产者与消费者模型
  14. c语言中学生信息管理系统中删除学生信息,学生信息管理系统C语言编程
  15. java 循环赛问题_分治法实现循环赛日程表问题
  16. H12-211数通HCNA题库解析(二)
  17. 你吃的面粉可能是死老鼠和姨妈巾的混合物
  18. IE浏览器弹框提示脚本发生错误
  19. vue中pdf预览组件_pdf 在线预览之 vue-pdf插件
  20. html控制台 打印 consol,浏览器console.log()打印输出台不显示输出内容……

热门文章

  1. 机器学习(MACHINE LEARNING)MATLAB非线性曲线拟合方法
  2. python【蓝桥杯vip练习题库】BASIC-19完美的代价(贪心算法)
  3. 数据备份 另一服务器_狡兔三窟-数据备份
  4. tar -xf_青铜表选什么?不可错过的XF帝舵碧湾小铜盾
  5. 关键词为什么迟迟不上首页?太令人“捉急”了!
  6. 网站如何布局才能更利于提升用户体验?
  7. 大数据之父_大新闻!Python 之父重新出山,加入微软开发部
  8. docker 查看已安装容器_docker中的容器安装PHP扩展件
  9. Java树形转扁平_多层嵌套map对象转扁平化map
  10. Ciruy英雄谭 Chapter 2 Web浏览器如何将数据委托出去(一)