上篇我们了解了WP8的环境搭建,从今天开始,我们就正式进入WP8的设计,开发阶段。

一. 项目模板介绍

打开vs,选择Windows Phone的项目模板,我们发现如下有很多模板,那么我们就从认识这些模板开始。

可以看到vs中共提供了11个项目模板。

Windows Phone 应用

此模板可用作任何应用的起点。模板内容很简单,一个单页面。

Windows Phone 数据绑定应用

此模板可创建使用MVVM设计模式来绑定导航跟列表页的wp应用程序。关于MVVM,很多人之前都应该有了一定的了解,wpf中应用的比较多,后面我们也会做详细的介绍。

Windows Phone 类库

用于创建 Windows Phone 类库的项目。类库这玩意就不用多说了。

Windows Phone Panorama 应用

用于创建使用 Panorama 控件的 Windows Phone 应用程序的项目。可是Panorama是啥, 有啥特别的呢?Panorama 控件是一个长的水平画布,延伸超出单个屏幕。我们一般都称之为全景控件。这么说可能不太好理解,我贴个图出来,大家一看就知道了,在wp7上早就看烂的玩意。

应该能看出点感觉来了,其实按我自己的说法就是一个整个几屏宽的大背景,在展示的时候,一个只能看到一屏的大小,通过左右滑动来查看整个背景。

Windows Phone Pivot 应用

用于创建使用 Pivot 控件的 Windows Phone 应用程序的项目。Pivot跟Panorama在之前的wp7中运用的还是比较多的。也贴个图片看看Pivot是啥玩意:

其实依我看那,就是个选项卡而已。左右滑动切换。

Windows Phone XAML 和 Direct3D 应用

用于创建具有本机组件的 Windows Phone 托管的应用程序的项目。这个是在wp8中新增的模板,主要用于制作3D动画之类的。

Windows Phone XAML 和 XNA 应用

用于创建使用 XNA Framework 呈现图形的wp应用程序。这是在wp7中就有的功能,wp8并没有对其进行更新,所以该模板只能创建面向 Windows Phone OS 7.1 的项目,不能创建面向 Windows Phone OS 8.0 的项目。

Windows Phone HTML5 应用

用于创建主要使用 HTML 内容的 Windows Phone 应用程序的项目。wp8也可以用html,js来写吗?别被他吓到了,目前还没支持,这个模板中其实只是放置了一个WebBrowser控件,一切的js,html5都是在WebBrowser上来做的。

Windows Phone 音频播放代理

用于创建播放音频的后台代理的类库项目。包含一个AudioPlayerAgent类文件。可以在其他 Windows Phone 应用中使用此类库。可用于wp后台播放音乐使用。

Windows Phone 音频流代理

同样是用于创建播放音频的后台代理的类库项目。

Windows Phone 计划任务代理

用于创建执行定期或资源密集型任务的后台代理的类库项目。用于wp中进行后台多任务处理的类库。

二:创建应用程序

今天我们就从最简单的开始,创建一个简单的Windows Phone应用程序。

创建完项目之后,可以发现第一个应用程序由如下几个部分组成:

MainPage:应用程序的主页面。可以在图中看到主页面中xaml文件中有很大的一段类似xml的东东,这个是xaml,有着很多的命名

空间,这些我们将在下一章对XAML进行详细的讲解。还可以看到Grid,TextBlock之类的控件,这些我们同样会在后面

进行专门的介绍。

App:是控制着整个应用程序的全局文件,也是整个程序的入口,Application的概念

Resources-AppResources.resx:应用程序的资源文件,可用于处理程序本地化。

LocalizedString:提供对字符串资源的访问权。也是用于本地化的。

Assets文件夹:资源文件夹,一般可约定用于放置图片,音频文件之类的。

WMAppManifrst.xml:应用程序相关的元数据清单。关于wp8的清单文件,我打算另开一章做详细的说明。

AppManifest.xml 也是必备的程序清单,目前有啥具体作用我还不是很了解。应用程序部件的相关信息。我再整整,到时候跟清单文

件一起介绍。

三:Hello WP8!

文章不能拖得太长,长了重点就不突出了,剩下的我们后面细细分解。回到本文的主线来,我们要写一个"Hello WP8!”的小程序!

在Grid中放入一个Button,我们可以通过控件拖拉,也可以通过xaml来编写。xaml代码如下:

  1. <!--ContentPanel - 在此处放置其他内容-->
  2. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
  3. <Button Background="Red" x:Name="Btn1" Click="Btn1_Click_1">土豪,先跟我做朋友,就狂击我吧!</Button>
  4. </Grid>

然后在后台给Button的click事件加上处理程序。

  1. private void Btn1_Click_1(object sender, RoutedEventArgs e)
  2. {
  3. MessageBox.Show("Hello WP8!我们做朋友吧!");
  4. }

我们看看效果是什么样子的。在模拟器中,点击进入我们开发的应用,看到好大一个红色的按钮,我们点击一下,弹框弹出提示。

虽然没啥含量,但这第一个小程序就可以算是完成了哈。你是不是以为我会很俗的,在界面上写个“Hello WP8!”,然后跑起来,就算完成任务了哈。那你就错了,那不错土豪的作风!

这一篇写的比较水哈,大家凑合看看,最近有点忙,后面我会注意保质保量!

让我们下一章“windows phone 8 开发系列(三)程序清单说明与配置!”再见。

windows phone 8 开发系列(二)Hello Wp8!的更多相关文章

  1. windows phone 8 开发系列(三)程序清单说明与配置

    一 清单文件内容介绍 当我们先建了一个项目之后,我们可以看到vs自动会为我们创建了很多文件,正常人都会先一个个去翻看下每个文件都是干啥的,都主要写了些啥,在这些文件中,在Properies目录下面,我 ...

  2. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  3. windows phone 8 开发系列(一)环境搭建

    一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...

  4. BizTalk开发系列(二十八) MSMQ 适配器

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...

  5. WordPress版微信小程序开发系列(二):安装使用问答

    自WordPress版微信小程序发布开源以来,受关注的程度超过我原来的想象.这套程序主要面对的用户是wordpress网站的站长,如果wordpress站想在微信的生态圈得到推广,小程序成为一种重要的 ...

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

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

  7. BizTalk开发系列(二十二) 开发自定义Map Functoid

    尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...

  8. 【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计

    我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下所示: 由于是本人是通信专业,因此加入了华为通信词典.电子工程词典,又由于我喜爱编程,也加 ...

  9. Windows phone 应用开发系列教程(更新中)

    Windows phone 应用开发[1]-Text To Speech        作为开篇章节.第一篇将在如下介绍一些Windows phone比较有意思的东西-Text To Speech[文 ...

随机推荐

  1. BIOS 深入学习 转

    http://blog.csdn.net/lightseed/article/category/547391

  2. Linux合并文件、去除重复行的命令

    Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt >  123.txt   linux去除重复行命令:cat YQ-10 ...

  3. php demo

    //上一周最后一天,上一个月最后一天: $y = date('Y',strtotime($endTime));        $m  = date('m',strtotime($endTime));  ...

  4. linux服务器之redis

    linux环境下安装redis服务器: redis下载地址:http://redis.io/download $ wget http://download.redis.io/releases/redi ...

  5. centos复制到另外一台电脑连不上网

    http://snow-berry.iteye.com/blog/1991754 从一台电脑virtual box克隆出来的centos.vdi复制到另外一台电脑,找不到网卡,提示Device eth ...

  6. Myeclipse2014添加mybatis generator插件

    Myeclipse2014把mybatis generator插件直接放在dropins文件夹下,重启后不能成功安装mybatis插件. 既然离线安装不成功,可以选择在线安装 1.选择 Help-&g ...

  7. B. Pasha and String

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  8. Timed Code

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  9. JDBC驱动的四种类型

    Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥.本地API驱动.网络协议驱动和本地协议驱动. JDBC驱动类型一.JDBC-ODBC桥 JDBC-ODBC 桥 是sun公司提供的, ...

  10. Oracle基础(六) 数据类型

    一.Oracle中的数据类型 Oracle中提供了丰富的数据类型,用来存储数据,主要包括: 1.字符类型:主要用来存储字符串类型的数据. 数据类型 长度 说明 CHAR(n BYTE/CHAR) 默认 ...