Windows Phone ApplicationBar(3)
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),也可以使用系統(tǒng)的圖標,系統(tǒng)的圖標通過Blend 4.0來添加,如下圖

二 通過代碼訪問ApplicationBar
從XAML頁面中可以看出,ApplicationBarIconButton和ApplicationBarMenuItem是繼承自ApplicationBar,ApplicationBar又繼承自PhoneApplicationPage命名空間,而其他SilverLight頁面控件是直接繼承自PhoneApplicationPage命名空間的。
所以訪問ApplicationBar的控件不能像訪問Page內(nèi)容一樣,首先添加命名空間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";
}
}
}
三 示例


浙公網(wǎng)安備 33010602011771號