如何在设计器中显示Windows Phone 8的菜单栏(ApplicationBar)

network | | 访问(45)

直接定义在xaml文件里

打开MainPage.xaml,在LayoutRoot的Grid之外(注意不要定义在Grid里边),加入代码:

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Opacity="0.2"
    BackgroundColor="Black" ForegroundColor="White" StateChanged="ApplicationBar_StateChanged">
        <shell:ApplicationBarIconButton IconUri="/Assets/Icon/appbar.refresh.rest.png" Text="刷新" Click="btnRefresh_Click" />
        <shell:ApplicationBarIconButton IconUri="/Assets/Icon/appbar.feature.search.rest.png" Text="搜索" Click="btnSearch_Click" />
        <shell:ApplicationBarIconButton IconUri="/Assets/Icon/appbar.feature.settings.rest.png" Text="设置" Click="btnSettings_Click" />
        <shell:ApplicationBarIconButton IconUri="/Assets/Icon/appbar.arrow.up.png" Text="置顶" Click="btnArrowUp_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>

StateChanged="ApplicationBar_StateChanged"的后台代码:

///<summary>
/// ApplicationBar  菜单栏[展开/收起]事件
///</summary>
public void ApplicationBar_StateChanged(object sender, ApplicationBarStateChangedEventArgs e) {
    if (e.IsMenuVisible == true) // 展开时
    {
        ApplicationBar.Opacity = 0.8; // 调整透明度
    } else {
        ApplicationBar.Opacity = 0.5; // 调整透明度
    }
}

//应用程序栏默认大小。显示一行图标按钮和一个省略号。
ApplicationBar.Mode = ApplicationBarMode.Default;

//应用程序栏最小大小。只显示一个省略号。
ApplicationBar.Mode = ApplicationBarMode.Minimized;

这样我们就能在设计器里得到一个菜单栏了。