我有3个全景项目,我希望只有第一个有应用栏。
所以我开始实现删除其他全景项目的应用栏。
我所做的是处理SelectionChanged
事件并基于Panorama.SelectedIndex
隐藏应用栏:
this.ApplicationBar.IsVisible = this.Panorama.SelectedIndex == 0;
当滑动到第二个项目时,通常的全景动画不再起作用,过渡动画消失了,它是突然的。
我没有改变IsVisible
,而是尝试了相同的结果:
this.ApplicationBar = null
this.ApplicationBar.Opacity = 0
有趣的是,即使改变不透明度,动画也会被打破,让我们说0.5
我的感觉是应用栏中的布局更改事件会产生此全景破坏行为。
我还没有找到解决方案。
答案 0 :(得分:2)
将整个全景放在堆叠面板中
<StackPanel>
<phone:Panorama Title="my application">
<phone:PanoramaItem Header="first item"/>
<phone:PanoramaItem Header="second item" Tap="OnPanoramaItemTap"/>
</phone:Panorama Title="my application">
</StackPanel>
private void OnPanoramaItemTap(object sender, System.Windows.Input.GestureEventArgs e)
{
ApplicationBar.IsVisible = false;
}
这只是一个想法,但它有效,我希望这对你的案例有好处