Встроенная анимация вращения панели приложений в Windows Phone
На моей странице есть элемент управления изображением, который поддерживает альбомную и портретную компоновку. Я хочу реализовать анимацию, которая поворачивает изображение при изменении ориентации. Что так же, как встроенная анимация поворота панели приложений. Но я понятия не имею, прямо сейчас. Кто-нибудь может мне помочь?
1 ответ
Есть как минимум два способа реализовать это:
1) Поймать событие OrientationChanged и анимировать макет, используя функцию Fluid UI в Expression Blend. Позволяет плавно переходить из одного визуального состояния в другое.
void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e) {
if(Orientation==PageOrientation.PortraitUp) {
VisualStateManager.GoToState(this, "VisualStatePortrait", true);
}
else {
VisualStateManager.GoToState(this, "VisualStateLandscape", true);
}
}
Вы также должны определить визуальные состояния для ландшафтного и портретного макета. Подробнее о том, как их объявить, вы можете узнать из этого видео.
2) Другой подход, представленный разработчиком Windows Phone от Microsoft. Его решение требует дополнительного кода, но более настраиваемый: вы можете выбирать между вращением, затуханием или гибридной анимацией. Пример кода также включен.