积极答复者
全景应用程序中如何在不同的页面使用不同的任务栏

问题
答案
-
你好。
可以监听Panorama控件的SelectionChanged事件,判断当前的SelectedIndex来决定ApplicationBar的显示。
这里是一个简单的例子:
<phone:Panorama Title="Panorama" x:Name="panorama" SelectionChanged="panorama_SelectionChanged"> <phone:PanoramaItem Header="AA" Background="Red"/> <phone:PanoramaItem Header="BB" Background="Green"/> <phone:PanoramaItem Header="CC" Background="Blue"/> </phone:Panorama>
private void panorama_SelectionChanged(object sender, SelectionChangedEventArgs e) { int selectedIndex = panorama.SelectedIndex; switch (selectedIndex) { case 0: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonA = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonA.Text = "AA"; ApplicationBar.Buttons.Add(appBarButtonA); break; case 1: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonB = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonB.Text = "BB"; ApplicationBar.Buttons.Add(appBarButtonB); break; case 2: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonC = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonC.Text = "CC"; ApplicationBar.Buttons.Add(appBarButtonC); break; default: break; } }
例子里面,每一个PanoramaItem对应的ApplicationBar都不同。
另外需要注意的是,SelectionChanged事件在Panorama初始化时不会触发,所以应在应用初始化时对默认的PanoramaItem设置ApplicationBar的显示。
- 已建议为答案 Leo (Apple) Yang 2014年7月16日 2:40
- 已标记为答案 孟云帆 2014年7月16日 4:14
2014年7月16日 1:18
全部回复
-
你好。
可以监听Panorama控件的SelectionChanged事件,判断当前的SelectedIndex来决定ApplicationBar的显示。
这里是一个简单的例子:
<phone:Panorama Title="Panorama" x:Name="panorama" SelectionChanged="panorama_SelectionChanged"> <phone:PanoramaItem Header="AA" Background="Red"/> <phone:PanoramaItem Header="BB" Background="Green"/> <phone:PanoramaItem Header="CC" Background="Blue"/> </phone:Panorama>
private void panorama_SelectionChanged(object sender, SelectionChangedEventArgs e) { int selectedIndex = panorama.SelectedIndex; switch (selectedIndex) { case 0: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonA = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonA.Text = "AA"; ApplicationBar.Buttons.Add(appBarButtonA); break; case 1: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonB = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonB.Text = "BB"; ApplicationBar.Buttons.Add(appBarButtonB); break; case 2: ApplicationBar = new ApplicationBar(); ApplicationBarIconButton appBarButtonC = new ApplicationBarIconButton(new Uri("/Assets/AlignmentGrid.png", UriKind.Relative)); appBarButtonC.Text = "CC"; ApplicationBar.Buttons.Add(appBarButtonC); break; default: break; } }
例子里面,每一个PanoramaItem对应的ApplicationBar都不同。
另外需要注意的是,SelectionChanged事件在Panorama初始化时不会触发,所以应在应用初始化时对默认的PanoramaItem设置ApplicationBar的显示。
- 已建议为答案 Leo (Apple) Yang 2014年7月16日 2:40
- 已标记为答案 孟云帆 2014年7月16日 4:14
2014年7月16日 1:18