我有一个带有全景控制的 Windows Phone 应用程序。
全景图目前有两个页面。
一页应该有一个带有按钮的可见应用程序栏,而另一页不应该。
我使用全景图的 SelectionChanged 事件来更改 ApplicationBar 的 IsVisible 属性。
private void Panorama_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
}
我得到的功能是符合要求的,但是由于这种行为,我的全景图出现了可怕的滞后(滑动动画的瞬间冻结)。这可能是由于 UI 线程必须操作 windows phone“本机”应用程序栏这一事实而发生的。
避免此问题的最佳方法是什么?
我应该ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
在单独的线程中调用吗?或者我应该使用项目的 ManipulationStarted 和 ManipulationCompleted 事件来隐藏应用栏?
谢谢。