В настоящее время я создаю приложение, которое использует простую анимацию xaml на всех страницах.Синхронизация анимаций по страницам
Вот XAML для анимации
<Storyboard x:Name="raysSpin">
<DoubleAnimation Duration="0:0:6.0" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="sunRays" RepeatBehavior="Forever"/>
</Storyboard>
выше анимация находится на всех страницах в приложении. Теперь, когда пользователь переходит к следующей странице, мне нужно сохранить эту анимацию синхронно на всех страницах, чтобы она выглядела так, как будто пользователь не перешел на другую страницу. Анимация, независимо от того, где она находится на временной шкале, должна установить эту позицию в анимации новых страниц и начать с того места, где мы остановились.
Кто-нибудь знает или имеет какие-либо идеи о том, как это можно эффективно выполнить?
Моя первая и единственная идея состояла в том, чтобы сохранить временной интервал анимации в глобальную переменную, хранящуюся в файле app.xaml.cs, а затем в onNativgatedTo каждой страницы, настроить анимацию новых страниц на сохраненный период времени и начать с того места, где мы оставили его. Это работает в определенной степени, но заметно заикается.
Я думал о запуске анимации в своем потоке, но я не знаю, возможно ли это, и если да, то как это сделать.
Это звучит неплохо, будет изучать его. Благодарю. –
Это лучший способ сделать это. Создайте только одну страницу и используйте пользовательские элементы управления для отображения нового контента. Счастлив помочь :) – Marco
Просто быстрый вопрос Марко, чтобы я обнял это. Возможно ли сохранить навигационный стек подстраниц? То, как я интерпретировал ваш ответ, состояло в том, что у вас есть главная страница, в которой мой фоновый и анимированный раздел, а затем раздел для хранения отдельных страниц, необходимых для приложения? Вид вроде этого http://reflectionit.nl/Blog/2013/windows-8-xaml-tips-master-pages –