WP7-菜单栏Application Bar

转自:http://www.cnblogs.com/porscheyin/archive/2010/12/10/1902514.html

 本文来介绍一下Windows Phone中的菜单栏(Application Bar)。

一.Application Bar

    Windows Phone中的菜单栏最多可以显示4个图标按钮。这些图标会自动地被从左向右添加到菜单栏中。如果还有额外的选项可以通过菜单项来添加,这些菜单项默认是不显示的。只有在点击菜单栏右侧的省略号(或省略号下方的区域)时才会显示出来,在电话屏幕的方向改变时,系统会自动处理菜单栏的方向(包括按钮和菜单项)。

按钮中的图标应该是48 x 48像素的,其他的尺寸会自动被缩放为48x48的,不过这通常会导致失真。

二.通过XAML代码创建菜单栏

    在一个新建的Silverlight for Windows Phone项目中,默认的MainPage.xaml文件中有一段被注释掉的代码,这就是与ApplicationBar相关的代码:

代码
     < phone:PhoneApplicationPage.ApplicationBar >
        
< shell:ApplicationBar  IsVisible ="True"  IsMenuEnabled ="True" >
            
< shell:ApplicationBarIconButton  IconUri ="/Images/appbar.add.rest.png"  Text ="Add"  Click ="btnAdd_Click" />
            
< shell:ApplicationBarIconButton  IconUri ="/Images/appbar.minus.rest.png"  Text ="Minus"  Click ="btnMinus_Click" />
            
< shell:ApplicationBar.MenuItems >
                
< shell:ApplicationBarMenuItem  Text ="菜单项1"  Click ="menuItem1_Click" />
                
< shell:ApplicationBarMenuItem  Text ="菜单项2"  Click ="menuItem2_Click" />
            
</ shell:ApplicationBar.MenuItems >
        
</ shell:ApplicationBar >
    
</ phone:PhoneApplicationPage.ApplicationBar >

图中的IconUri并不存在,我们需要自己来添加图标文件,注意图片的Build Action属性应该为Content,然后修改相应的路径即可。关于图标我们可以在本机的X:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Icons目录下找到。IsVisible用来控制菜单栏的可见性,IsMenuEnabled用来控制是否弹出菜单项。同时我们还可以为图标按钮和菜单项添加Click事件处理程序。

三.通过托管代码创建菜单栏

下面演示通过托管代码创建菜单栏,在程序中引用ApplicationBar类需要添加using Microsoft.Phone.Shell;名称空间。完整代码如下:

代码
public  MainPage()
        {
            InitializeComponent();

            ApplicationBar applicationBar;
            applicationBar 
=   new  ApplicationBar();

            
this .ApplicationBar  =  applicationBar;

            applicationBar.IsMenuEnabled 
=   true ;
            applicationBar.IsVisible 
=   true ;
            ApplicationBarIconButton btnAdd 
=   new  ApplicationBarIconButton( new  Uri( " /Images/appbar.add.rest.png " , UriKind.Relative));
            btnAdd.Text 
=   " cancel " ;
            ApplicationBarIconButton btnMinus 
=   new  ApplicationBarIconButton( new  Uri( " /Images/appbar.minus.rest.png " , UriKind.Relative));
            btnMinus.Text 
=   " close " ;
            applicationBar.Buttons.Add(btnAdd);
            applicationBar.Buttons.Add(btnMinus);
            ApplicationBarMenuItem menuItem1 
=   new  ApplicationBarMenuItem( " 菜单项1 " );
            ApplicationBarMenuItem menuItem2 
=   new  ApplicationBarMenuItem( " 菜单项2 " );
            applicationBar.MenuItems.Add(menuItem1);
            applicationBar.MenuItems.Add(menuItem2);
            btnAdd.Click 
+=   new  EventHandler(btnAdd_Click);
            btnMinus.Click 
+=   new  EventHandler(btnMinus_Click);
            menuItem1.Click 
+=   new  EventHandler(menuItem1_Click);
            menuItem2.Click 
+=   new  EventHandler(menuItem2_Click);
        }

下面是程序截图:

clip_image002clip_image004

四.下载示例代码:

WindowsPhoneApplicationBarDemo.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值