一起学Windows phone 7开发(一.Application Bar)

对于Windows Phone 7程序来说,UI是用Sliverlight来开发的,但是并不完全是Sliverlight的全集,与子集的关系,因为Phone 7上有的API或功能PC上是没有的(比如这个application bar),那PC上的sliverlight就更不用说了。

Application Bar就是所谓的菜单栏,它包括Iconbutton和Menu两种类型。Iconbutton就相当于菜单栏里的工具栏,可以带图标;Menu就是菜单了,但是没有二级菜单。在创建之前一定要先在Reference里加入Microsoft.Phone.shell,并且在xaml页面加上 xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell".

一.IconBar

要创建IconBar,就一定要有Icon,Phone7对Icon的要求比较严:大小一定是48X48相素的png图,图型居中,前景色一般为白色,大小为26X26.有了图片就可以创建了,如果没有也没有关系,微软给提供了一套图标http://www.microsoft.com/downloads/details.aspx?familyid=369B20F7-9D30-4CFF-8A1B-F80901B2DA93&displaylang=en。

创建Iconbar:

<navigation:PhoneApplicationPage.ApplicationBar>
         <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">>
             <shell:ApplicationBar.Buttons>
                 <shell:ApplicationBarIconButton x:Name="btnTest" Click="btnTest_Click" IconUri="appbar.add.rest.png"></shell:ApplicationBarIconButton>
             </shell:ApplicationBar.Buttons>
         </shell:ApplicationBar>
     </navigation:PhoneApplicationPage.ApplicationBar>

这样就创建了一个Iconbar。但是一定要注意,Iconbar的数量是有限制的,最多只能加5个,并且第5个是显示不出来的,也就是实际上只能最多加4个。

二.Menu

创建Menu很简单没有什么限制。

 <navigation:PhoneApplicationPage.ApplicationBar>
         <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">>
             <shell:ApplicationBar.MenuItems>
                 <shell:ApplicationBarMenuItem x:Name="mTest"  Text="Text" Click="mTest_Click"></shell:ApplicationBarMenuItem>
                 <shell:ApplicationBarMenuItem x:Name="mTes1"  Text="Text" Click="mTest1_Click"></shell:ApplicationBarMenuItem>
                 <shell:ApplicationBarMenuItem x:Name="mTest2"  Text="Text" Click="mTest2_Click"></shell:ApplicationBarMenuItem>
                 <shell:ApplicationBarMenuItem x:Name="mTest3"  Text="Text" Click="mTest3_Click"></shell:ApplicationBarMenuItem>
        </shell:ApplicationBar.MenuItems>
         </shell:ApplicationBar>
     </navigation:PhoneApplicationPage.ApplicationBar>

另外,据说直接在程序中添加代码也可以生成ApplicationBar,但是我没有成功。还有就是目前的ApplicationBar 还不是很稳定,有时在响应函数中写完代码后,会引起2214错误!希望微软正式的SDK出来后可以有所改善。

时间: 2024-09-10 17:10:49

一起学Windows phone 7开发(一.Application Bar)的相关文章

菜鸟学Windows Phone 8开发(4)——设置应用程序样式

原文 菜鸟学Windows Phone 8开发(4)--设置应用程序样式 本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发  本文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-6-Styling-the-App 源代码:http://aka.ms/absbeginnerdevwp8 我 们已经学习了XAML布局和事件基础,接下来让我

菜鸟学Windows Phone 8开发(2)——了解XAML

原文 http://www.cnblogs.com/duolete/archive/2013/10/12/3364554.html 本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力 本文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-4-Introductio

一起学Windows phone 7开发(四. DeepZoom)

DeepZoom 是silverlight的特色功能之一,也同样被加到了windows phone 7中来.这个功能现在应该算是phone7 Ui的主要功能了吧.因为phone7的很多Ui就是DeepZoom开发的,另外在MIX10大会有展出的漫画阅读软件也是由DeepZoom开发的,由此也可以看的出这个功能在phone7上的重要性. 一.要开发DeepZoom首先需要 DeepZoom Composer这个在expression下的工具来生成deepzoom图集. 二.新建windows ph

一起学Windows Phone 7开发(八.BingMap控件)

对于地图来说,很多人都知道goolemap,其实微软也有自已的map api,而且一点也不比google的差.对于微软的BingMap来说,目前有多个版本可用(Bing Maps AJAX Control, Bing Maps Silverlight Control, Bing Maps Web Services.)其中用在silverlight上的控件,也一样可以用在WP7上.如果在新版SDK下无法编译,就需要把 silverlight4下的System.Windows.Browser.dll

一起学Windows Phone 7开发(七.新旧版SDK开发程序的转换)

Windows Phone 7在二月份发布后,就随着一起发布了其SDK(我之前也是用的这个版本),但是几个月后又发布了新的SDK,在这个SDK中还包含了一个免费的 Visual studio 2010 express版本.这时问题就出来了,如果之前安装了老版本的SDK,就需要全部卸载掉后,才能装新版SDK,这看起来很容易,但是一旦安装了新的 SDK后,在旧版上开发的程序,就全部不能跑了.这就需要有自已做一个手工的调整. 1.在\Properties\WMAppManifest.xml增加属性内容

一起学Windows Phone 7开发(六.Isolate Storage)

windows phone 7 目前版本上已确定没有文件系统(也就是说filestream.OpenFileDialog这样的功能都是不能使用了)和数据库系统了,那在开发时需要保存一些用户配置信息或临时数据在本地怎么办? 答案是只能使用silverlight的特色功能Isolate Storage来保存文本文件.XML文件或INI文件的方式来替代了. 其实使用Isolate Storage的最大好处就是安全性了,因为只有本程序可以访问该区域,而其他程序是无法访问的.这样也就可以对一此敏感数据的保

一起学Windows phone 7开发(二.页面间跳转与传值)

Windows Phone7允许创建多个页面,但并不像Windows mobile程序一样,可能关闭窗口或最小化,而是通过跳转的方式来实现的.但是其跳转方式也不同于PC上Sliverlight的跳转方式.不过其传值方式却是一样的. 一.跳转: 可以通过这条语句来完成:this.NavigationService.Naviagte(new Uri("/testPage.xaml", UriKind.Relative)); 向前跳转:this.NavigationService.GoFro

一起学Windows Phone 7开发(十二.Push Notification)

一.简介 Push Notification 是windows phone 7中的特色功能之一,这个功能可以变相的让普通开发者实现多任务(尽管并不是真正的多任务).它为手机端应用和webservice之间建立了一条专用的.持久的.稳定的通道来推送通知.当通道建立后,手机端应用可以接收webservice的任何信息. 二.分类 对于Push Notification主要有三种: 1.Tile Notification: 是可以改变Quick Lanuch area内的图标内容(图片,文字等)的方式

一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta)

微软于昨天发布了最新的windows phone的开发包(Windows Phone Developer Tools Beta),同时又修改了很多的东西,也造成了与旧版的不兼容.不过在它的Release Notes - WPDT Beta.htm中有详细的说明. 最新开发包的下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&displaylang=