Windows Phone 7 不温不火学习之《工程结构》
2010-12-13 20:47 Terry_龙 阅读(2322) 评论(9) 编辑 收藏 举报像学习Android 一样也必须先把Windows Phone 7的工程结构了解清楚才好,Windows Phone 7的项目结构以一个最标准的WP7应用为例,截图如下:
把其中一些对应的文件展开如下:
下面一起来了解一下对应文件的作用和用法。
1.Properties
- AppManifest.xml
翻译成中文为应用列表,当我们的WP应用开发完成后,会打包并发布,而此文件的作用是把我们需要布署和发布的所有文件列表列出来,这个跟Android 的Manifest 是不大相同的,Android 的manifest 虽然也可以理解成列表,但Andriod 必须自己手动添加需要的应用权限、服务、广播等。而这个文件最好是不要动它为好。文件内容如下: - AssemblyInfo.cs
做过Winform 或者 Asp.net 肯定对这个不陌生,这里不做过多介绍。 - WMAppManifest.xml
看名称,好像是跟Windows Mobile 有一点关系 ,此文件包含了Windows Phone 7 的一些特殊属性,可以定义它的可用能力,让它支持比如游戏服务、本地化、网络链接、浏览器等功能,还可以定义应用程序的图片等。文件内容如下:
Tip:此文件不要改动。 其中Tasks是设置应用启动的第一个页面,跟Android 的 manifest Launcher 差不多。
2.References
此文件为引用目录,默认引用Windows Phone 开发框架DLL,还可以引入我们做好的类库文件等,增强项目的功能扩展。
3.图片文件
- ApplicationIcon.png
这个图片是主页面列表需要的图标,默认如下: - Background.png
这个图片是应用程序的背景图,默认如下: - SplashScreenImage.jpg
这个图片是程序第一次启动前启动,默认如下:
4.App.xaml
这个文件主要是管理应用程序的生命周期,内容如下:
其中Application.ApplicationLifetimeObjects 标签内定义了应用程序的启动过程(Launching)、程序的关闭过程(Closing)、程序的重新激活(Activated)、失去激活(Deactivated),定义了这些生命周期事件后,我们可以在Code behind 里面找到相应的事件入口,打开App.xaml.cs文件,可以看到如下事件:
相对于Android 的多任务生命周期,Windows Phone 7单任务的生命来得更简单些,不过看园子里面有牛人己经看出微软明年可能发布带多任务的和复制/粘贴等功能的版本,很给力呀。呵呵。暂时的单任务只能在这个生命周期处理文件中处理了,比如应用的切换我们可以在生命周期里面及时的保存一些必要的数据,不致于丢失。
5.MainPage.xaml
此文件为程序的主入口页,打开设计视图,Windows Phone 7默认为我们编写了一个小页面,截图如下:
而XAML文件其实是一个标准的XML文件,也是应用程序的UI文件,而这里我们要着重了解的是XAML的名字空间。截图如下:
- xmlns 默认的空间,如果在UI里面控件没有前缀则代表它属于默认的名字空间。例如,mainPages 里面的Grid 标签。
- xmlns:x代表专属的名字空间,比如一个控件里面有一个属性叫name 那么 x:name 则代表这个name 代表xaml的名字空间。
- xmlns:phone 包含在Miscroft.phone 的引用DLL
- xmlns:shell 包含在Miscroft.sell的引用DLL,此文件可以帮助我们管理就用的生命周期。
- xmlns:d 呈现一些设计时的数据,而应用真正运行起来时会帮我们忽略掉这些运行时的数据,比如下文件的d:DesignWidth="480" d:DesignHeight="768"然后在如下的名字空间会忽略掉这些数据。
- xmlns:mc 布局的兼容性,这里主要配合xmlns:d 使用,它包含Ignorable属性,可以在运行时忽略掉这些设计时的数据。
上面的所有即是一个标准的WP 7 的工程结构,慢慢来吧,从无到有的过程。
希望大家能够帮帮忙,投下票,最近参加了51cto的博客竞赛,大家没事的可以投下票,谢谢==
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架