Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Анимация темы Windows Runtime

0

Перейдем ко второй группе анимации. Если анимация перемещений задавала стандартные механизмы с минимальным влиянием на выполнение, то анимация темы позволяет более жестко контролировать как ход выполнения, так и время запуска. Она включает гораздо больше типов.

·                   DragItemThemeAnimation — позволяет задать анимацию для элемента,

который готов к перетягиванию.

·                   DragOverThemeAnimation — позволяет задать анимацию для элементов,

через которые происходит перетягивание.

·                   DropTargetItemThemeAnimation —  задает уведомление  пользователя о  том,  что  элемент может  являться источником  для  перетягиваемого объекта.

·                   FadeInThemeAnimation  —  позволяет сконфигурировать  прозрачность элемента при первом появлении.

·                   FadeOutThemeAnimation — позволяет сконфигурировать прозрачность элемента при исчезновении.

·                   PopInThemeAnimation и PopOutThemeAnimation — эти типы анимации задают действия объектов  в  сценарии  раскрывающихся  (всплывающих) объектов.   В  качестве примера   можно  назвать элемент  управления ComboBox.

·                   RepositionThemeAnimation — тут задается стандартная  анимация для элементов, которые сменили свое положение.

·                   SplitCloseThemeAnimation и  SplitOpenThemeAnimation —  эти  виды анимации используются в  сложных элементах управления (или с целым набором   элементов),   подразумевающих  возможность  «разделения» содержимого     элемента    с    использованием   стандартного    жеста, выполняемого  двумя пальцами.

·                   TapDownThemeAnimation     и     TapUpThemeAnimation     —     задают изменение состояния элемента при обычном касании.

·                   SwipeHintThemeAnimation  —  этот  тип  анимации  задает   поведение элемента во время проведения  по нему пальцем или пером. Подобное поведение можно видеть в  основном окне Windows, если попробовать потянуть вниз одну из  плиток  (произойдет выбор плитки  и  появится панель приложений).

·                   SwipeBackThemeAnimation —  этот  тип  анимации  задает  поведение элемента  во   время его  возвращения   в    исходное   состояние  после проведения по нему пальцем или пером.

Фактически,  вышеуказанные типы описывают стандартную анимацию,  но не механизм запуска. Разработчик сам контролирует время  запуска и остановки анимации. С одной стороны, это является недостатком, так как необходимо писать дополнительный код, а с другой — большим преимуществом, поскольку можно выполнять привязку стандартной анимации к своим собственным сценариям.

Рассмотрим небольшой пример, демонстрирующий работу этого типа анимации.

<Grid Background="White">

<StackPanel>

<StackPanel.Resources>

<Storyboard x:Name="myStoryboard">

<FadeOutThemeAnimation Storyboard.TargetName="myRectangle"  />

</Storyboard>

</StackPanel.Resources>

<Rectangle PointerPressed="Rectangle_Tapped" x:Name="myRectangle" Fill="Red" Width="100" Height="100" />

</StackPanel>

</Grid>

Как видите, тут мы определили Storyboard. Этот элемент необходим для любого из типов анимации данной группы. Внутри Storyboard мы задаем стандартную анимацию  для  нашего  прямоугольника.  Остается  только  запустить  её.  Это делается с помощью кода, который выполняется при нажатии на прямоугольник:

private void Rectangle_Tapped(object sender, PointerEventArgs e)

{

myStoryboard.Begin();

}

Как  видите, мы  сами  решаем, когда  выполнять анимацию.  Кроме  того,  мы можем воспользоваться настройками Storyboard, чтобы  настроить её время, продолжительность и другие параметры.

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии