Windows Phone 7 不温不火学习之《工程结构》

简介:


像学习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 的工程结构,慢慢来吧,从无到有的过程。




 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/454519,如需转载请自行联系原作者


相关文章
|
6月前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
12月前
|
存储 缓存 安全
2.2 Windows驱动开发:内核自旋锁结构
提到自旋锁那就必须要说链表,在上一篇`《内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。在了解自旋锁之前需简单介绍一下内核中如何分配内存,一般而言分配内存有两个函数来实现`ExAllocatePool`可实现分配不带有任何标签的内存空间,而`ExAllocatePoolWithTag`则可分配带标签的,两者在使用上没有任何区别与之对应的就是
2.2 Windows驱动开发:内核自旋锁结构
|
存储 C语言 C++
[笔记]windows逆向学习
[笔记]windows逆向学习
|
5月前
|
Windows
逆向学习Windows篇:通过编写函数处理菜单消息
逆向学习Windows篇:通过编写函数处理菜单消息
33 0
|
5月前
|
安全 API C++
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
逆向学习Windows篇:C++中多线程的使用和回调函数的实现
157 0
|
5月前
|
安全 API Windows
逆向学习Windows篇:文件操作详解
逆向学习Windows篇:文件操作详解
28 0
|
5月前
|
存储 数据安全/隐私保护 Windows
逆向学习Windows篇:进程句柄操作详解
逆向学习Windows篇:进程句柄操作详解
161 0
|
5月前
|
监控 安全 Windows
逆向学习Windows篇:lab的使用和生成过程,以及“dell”的导出函数和作用
逆向学习Windows篇:lab的使用和生成过程,以及“dell”的导出函数和作用
70 0
|
5月前
|
Windows
逆向学习Windows篇:动态加载与def导出
逆向学习Windows篇:动态加载与def导出
37 0
|
5月前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
66 0