Приложение WP 7.5. У меня есть две анимации раскадровки - одна на изображении, а другая на тексте.
Issue1: Когда я перехожу на следующую страницу и возвращаюсь, изображение и текст мигает.
Solution1: Поэтому я добавил OnNavigateFrom и explicity Остановить анимацию, а также сбросить все свойства, участвующие в анимации, до 0.
Issue2: Теперь, скажем, экран переходит в режим блокировки, и когда я его разблокирую, так как я установил непрозрачность одного из моих элементов в 0 в OnNavigatedFrom, элемент скрыт, который фактически должен быть видим пользователь переходит на следующую страницу.
Solution2: Я обработал обработчик Obscured и UnObscured, как показано ниже в коде, и добавил флаг, чтобы увидеть, будет ли приложение переходить в режим затемнения, не останавливать анимацию и не сбрасывать свойства.
public class Page2 :PhoneApplicationPage
{
private bool _isObscured = false;
public Page2()
{
(Application.Current as App).RootFrame.Obscured += OnObscured;
(Application.Current as App).RootFrame.Unobscured += OnUnobscured;
InitializeComponent();
}
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
//Stop animations and reset properties only if not going to obscure mode.
if (!_isObscured)
{
//stop animaiton
Storyboard1.Stop();
Storyboard2.Stop();
//Reset all transform properties to 0
Text1.Opacity = 0;
Image1.RenderTransform.SetValue(CompositeTransform.ScaleXProperty, 0.0);
Image1.RenderTransform.SetValue(CompositeTransform.ScaleYProperty, 0.0);
}
base.OnNavigatedFrom(e);
}
void OnObscured(object sender, ObscuredEventArgs e)
{
Storyboard1.Pause();
Storyboard2.Pause();
_isObscured = true;
}
void OnUnobscured(object sender, EventArgs e)
{
Storyboard1.Resume();
Storyboard2.Resume();
_isObscured = true;
}
}
Вопрос : Это правильный путь или есть лучший путь? Может ли быть проблема с сертификацией для этого?
Любая помощь очень ценится.