Приложение для Windows Phone 7.5.
Дизайнер создал Home.xaml в Blend с 3 изображениями (пункт меню) с анимацией раскадровки.
Анимация очень простая. Каждое изображение немного увеличивается и возвращается к своему нормальному размеру один за другим.
Отлично работает при начальной загрузке. Теперь нажатие на одно изображение переводит меня на другую страницу.
Проблема:
Теперь, когда я нажимаю кнопку «назад» (аппаратное обеспечение), я перехожу на свой Home.xaml со страницы навигации, одно изображение немного наклонено, как если бы оно было в середине анимации. Анимация в действительности подходит для всех кнопок в цикле, но одно из изображений (это случайное включение) застревает. Теперь это поведение является случайным, но может повторяться почти 95% времени.
Я не уверен, как анимация вписывается в цикл навигации по страницам. Я попытался явно остановить анимацию, как показано ниже в OnNavigatedFrom
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
sbBtn1.Stop();
sbBtn2.Stop();
sbBtn3.Stop();
base.OnNavigatedFrom(e);
}
Это своего рода устранение исходной проблемы, но затем возникает другая проблема. При обратной навигации первое изображение из 3 (это то, которое сначала анимируется при навигации по страницам) действует так, как будто оно немного увеличивается.
Edit:
Я выяснил проблему уменьшения масштаба первого изображения. Он использовал 0,7 шкалы / год вместо 0,75.
Если кто-нибудь может указать мне правильное направление, как справиться с этой анимацией, пожалуйста.
Вот образец , который я создал, который повторяет проблему. Получите zip-файл AnimationIssue . Дайте мне знать, если вы не можете загрузить образец.
Как воспроизвести:
1: Нажмите на одно из изображений, чтобы перейти на следующую страницу.
2: Затем нажмите кнопку аппаратного возврата. Вы увидите, о чем я говорю. Если нет, попробуйте выполнить шаги 1 и 2 два или три раза.
Дополнительно:
1: ЕСЛИ вы комментируете остановочные вызовы, как я уже упоминал выше, следуйте инструкциям выше, но на этот раз обратите внимание на первое изображение Пустыни. Вы увидите небольшое увеличение.
Надеюсь, кто-нибудь сможет указать мне правильное направление. Спасибо.
Последний вопрос
Так что же не так в моей оригинальной версии? Правильно ли я делаю это, чтобы остановить анимацию в OnNavigatedFrom или я должен сделать что-то еще?
Я также думаю о явном вызове sbBtn1 / 2/3. Begin на странице Loaded вместо использования триггеров в .xaml.