您的位置:首页 > 移动开发

Windows Phone ApplicationBar(3)

2011-10-31 18:05 218 查看
Windows Phone ApplicationBar包含了ApplicationBarIconButton和ApplicationBarMenuItem,最多只能添加四个按钮,菜单通过ApplicationBar右边的省略号来展开,都继承自Microsoft.Phone.Shell命名空间,所以在引用时前面都有shell的标志,如:

<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton x:Name="appbarbutton1" IconUri="/icons/appbar.save.rest.png" Text="Save" Click="appbarbutton1_Click"/>
<shell:ApplicationBarIconButton x:Name="appbarbutton2" IconUri="/icons/appbar.delete.rest.png" Text="Delete"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem x:Name="appbarmenuitem1" Text="Open"/>
<shell:ApplicationBarMenuItem x:Name="appbarmenuitem2" Text="Exit"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>


一 添加图标

ApplicationBarIconButton的图标可以使用自己设计的图标(尺寸48 x 48),也可以使用系统的图标,系统的图标通过Blend 4.0来添加,如下图



二 通过代码访问ApplicationBar

从XAML页面中可以看出,ApplicationBarIconButton和ApplicationBarMenuItem是继承自ApplicationBar,ApplicationBar又继承自PhoneApplicationPage命名空间,而其他SilverLight页面控件是直接继承自PhoneApplicationPage命名空间的。

所以访问ApplicationBar的控件不能像访问Page内容一样,首先添加命名空间Microsoft.Phone.Shell,如

using System;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;

namespace PhoneApp1
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
appbarbutton1 = ApplicationBar.Buttons[0] as ApplicationBarIconButton;
appbarmenuitem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem;
}

private void appbarbutton1_Click(object sender, EventArgs e)
{
appbarbutton1.IconUri = new Uri("/icons/appbar.stop.rest.png", UriKind.RelativeOrAbsolute);
appbarmenuitem1.Text = "Close";
}
}
}


三 示例

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: