一、在xaml页面定义两个ApplicationBar:
<phone:PhoneApplicationPage.Resources> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" x:Key="appBar0" Mode="Default">
<shell:ApplicationBarIconButton Text="appBarBtn0" IconUri="appBarBtn0.png" Click="appBarBtn0_Click"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="appBarMenu0" Click="appBarMenu0_Click"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" x:Key="appBar1" Mode="Default">
<shell:ApplicationBarIconButton Text="appBarBtn1" IconUri="appBarBtn1.png" Click="appBarBtn1_Click"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="appBarMenu1" Click="appBarMenu1_Click"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar> </phone:PhoneApplicationPage.Resources>
二、在cs代码中事件函数中加入一下代码(这里以panorama为例子):
#region panorama不同item显示不同applicationbar
private void panoramaPage_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (((Panorama)sender).SelectedIndex)
{
case :
ApplicationBar = (ApplicationBar)this.Resources["appBar0"];
break;
case :
ApplicationBar = (ApplicationBar)this.Resources["appBar1"];
break;
}
}
#endregion