对于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 还不是很稳定,有时在响应函数中写完代码后,会引起2214错误!希望微软正式的SDK出来后可以有所改善。

 

 

posted on 2010-05-02 23:43  小镇  阅读(5098)  评论(8编辑  收藏  举报