Windows Phone 7 开发探索笔记9——菜单栏
来源:互联网 发布:网络直复营销理论类型 编辑:程序博客网 时间:2024/05/19 17:09
本文来介绍一下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);
}
下面是程序截图:
四.下载示例代码:
WindowsPhoneApplicationBarDemo.zip
如果大家喜欢我的文章,请点击“分享”,谢谢!
- Windows Phone 7 开发探索笔记9——菜单栏
- Windows Phone 7 开发探索笔记7——加载XML文件
- Windows Phone 7 开发探索笔记8——加载XAML文件中的对象
- Windows Phone 菜单栏
- Windows Phone 8开发历程——Windows Phone简介
- Windows Phone 8 开发笔记
- Windows Phone 8 开发笔记
- windows phone 7音频采样探索
- 探索Windows Phone 7的单元测试(翻译)
- Windows Phone 7 开发——独立存储
- Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
- Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
- Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
- 观书有感——Windows Phone 7入门经典:使用Silverlight和XNA开发Windows Phone应用
- Windows Phone 7 开发 31 日谈——第9日:调试技巧
- Windows Phone 7 开发 31 日谈——第9日:调试技巧
- Windows Phone 8开发知识笔记
- Windows Phone 7开发工具
- Windows Phone 7 开发探索笔记8——加载XAML文件中的对象
- 从图灵奖看计算机科学技术发展史的缩影
- strcpy()、memcpy()、memmove()、memset()的实现
- 14. 5. 2. 按钮事件及快捷键 Creating a JButton from an Action object
- linux MAC地址绑定
- Windows Phone 7 开发探索笔记9——菜单栏
- 交通灯管理系统
- 编程之美笔记 3.8 求二叉树中节点的最大距离
- 调试器
- 国外博士论文下载
- myeclipse 自动隐藏已关闭的项目
- Java程序练习-狼找兔子
- 牛顿迭代法之求浮点数的平方根
- C++虚函数表解析