パノラマコントロールを備えたWindowsPhoneアプリがあります。
パノラマには現在2ページあります。
1つのページには、ボタン付きのアプリケーションバーが表示されている必要があり、別のページには表示されていない必要があります。
パノラマのSelectionChangedイベントを使用して、ApplicationBarのIsVisibleプロパティを変更します。
private void Panorama_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
}
私が得る機能は望み通りですが、そのような振る舞いで、私は私のパノラマのひどい遅れ(スライドアニメーションの瞬間的なフリーズ)を得る。これはおそらく、UIスレッドがWindowsPhoneの「ネイティブ」アプリケーションバーを操作する必要があるために発生します。
この問題を回避するための最良の方法は何ですか?
ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
別のスレッドでを呼び出す必要がありますか?または、アイテムのManipulationStartedイベントとManipulationCompletedイベントを使用して、アプリバーを非表示にする必要がありますか?
ありがとう。