У меня есть приложение для Windows Phone с управлением панорамой.
В настоящее время в Panorama есть две страницы.
На одной странице должна быть видимая панель приложения с кнопками, а на другой - нет.
Я использую событие SelectionChanged для панорамы для изменения свойства IsVisible в ApplicationBar.
private void Panorama_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
}
Функциональность, которую я получаю, является желаемой, но при таком поведении я получаю ужасную задержку (кратковременное замораживание скользящей анимации) моей панорамы.Это, вероятно, происходит из-за того, что поток пользовательского интерфейса должен работать с «родной» панелью приложений самого телефона Windows.
Каков наилучший способ избежать этой проблемы?
Должен ли я вызывать ApplicationBar.IsVisible = Panorama.SelectedIndex == 0;
в отдельном потоке?Или я должен использовать события ManipulationStarted и ManipulationCompleted элемента, чтобы скрыть панель приложения?
Спасибо.