WP开发笔记——不同Item显示不同ApplicationBar:适用于Pivot与Panorama

时间:2022-12-01 13:31:18

一、在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