C# 如何设置要在Windows Phone 7的不同页面中显示的应用程序栏编号或显示其他按钮?

C# 如何设置要在Windows Phone 7的不同页面中显示的应用程序栏编号或显示其他按钮?,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我正在摆弄这个WindowsPhone7应用程序条,这时我注意到,即使在XAML中设置不同的应用程序条,也不会使它在不同的应用程序页面中发生变化(我不得不说,这很烦人)。我的意图是使用这个带有一些按钮的工具栏,这些按钮会根据显示的页面而变化,比如说,在主菜单中,它不会显示主菜单图标,但在另一个页面中会显示。你们能帮我个忙吗 第1页: <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar

我正在摆弄这个WindowsPhone7应用程序条,这时我注意到,即使在XAML中设置不同的应用程序条,也不会使它在不同的应用程序页面中发生变化(我不得不说,这很烦人)。我的意图是使用这个带有一些按钮的工具栏,这些按钮会根据显示的页面而变化,比如说,在主菜单中,它不会显示主菜单图标,但在另一个页面中会显示。你们能帮我个忙吗

第1页:

<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBar.Buttons>
                <shell:ApplicationBarIconButton IconUri="Icons/mainmenu.png" Text="Main Menu"  />
                <shell:ApplicationBarIconButton IconUri="Icons/list.png" Text="Comic List"  />
                <shell:ApplicationBarIconButton IconUri="Icons/settings.png" Text="Settings"  IsEnabled="True" x:Name="ApplicationBarUploadIconButton" />
            </shell:ApplicationBar.Buttons>

        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>

第2页:

<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBar.Buttons>
                <shell:ApplicationBarIconButton IconUri="Icons/settings.png" Text="Settings"  />
                <shell:ApplicationBarIconButton IconUri="Icons/list.png" Text="Comic List"  />
                <shell:ApplicationBarIconButton IconUri="Icons/download.png" Text="Download Comic"  IsEnabled="True" x:Name="ApplicationBarUploadIconButton" />
            </shell:ApplicationBar.Buttons>

        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>

第3页:

 <phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="False" IsMenuEnabled="False">
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>

应用程序栏始终相同,并且始终显示(即使第3页中明确声明不显示)


提前谢谢

在不同页面的应用程序栏中确实可以有不同数量的按钮。如果你在一个页面上添加了一个应用程序条,并且在每个页面上看到4个空的圆形区域,那么没什么好担心的——这只是designer视图。例如,在您的
MainPage.xaml
中,您可以有这样一个应用程序栏-

<phone:PhoneApplicationPage.ApplicationBar>
  <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
     <shell:ApplicationBarIconButton IconUri="/Images/appbar.refresh.rest.png" 
                                     Text="Refresh"
                                     Click="RefreshPage_Click" />
  </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
<phone:PhoneApplicationPage.ApplicationBar>
  <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
     <shell:ApplicationBarIconButton IconUri="/Images/appbar.home.png" 
                                     Text="Home"
                                     Click="GoBackHome_Click" />
     <shell:ApplicationBarIconButton IconUri="/Images/appbar.next.rest.png" 
                                     Text="Next"
                                     Click="NextPage_Click" />
     <shell:ApplicationBarIconButton IconUri="/Images/appbar.previous.rest.png" 
                                     Text="Next"
                                     Click="PreviousPage_Click" />
  </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

HTH,indyfromoz

您可以使用控件的SelectionChanged事件检查页面的selectedindex

private void Panorama_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if(panaroma.SelectedIndex == 1) //Your required page index
            ApplicationBar.IsVisible = true;
        else
            ApplicationBar.IsVisible = false; // other pages will be hidden            
    }

我做了,但是在模拟器中所有的按钮看起来完全一样,并且有相同的标题。那么,你看到没有图标的按钮了吗?你的申请表有多少页?如果您从应用程序中发布了一些XAML,这将有所帮助。我的回复中的示例是从我构建的应用程序复制的,它在模拟器和真实硬件上运行良好。一个窍门是将图标图像文件的构建操作设置为“内容”。因此,图像会显示出来,但它们总是相同的。我将在我的问题中发布一些XAML,以便您能够理解。我无法获得任何进一步的线索,可能需要访问完整的代码。我觉得你的XAML还不错。这些页面是用户控件吗?你是在Pivot/Panorama中加载它们吗?我刚刚插入了一个新的应用程序页面(我想这就是它的名称)。