Анимация WPF

Каждая анимация в WPF работает на основе отдельного свойства зависимости. Для того, что бы анимировать свойство, требуется класс
анимации, который поддерживает тип данных свойства. Например, для анимации свойства Height типа Double следует использовать класс DoubleAnimation Стандартная частота анимации — 60 кадров в секунду.

Типы анимации

  • Линейная интерполяция – последовательное изменения значения свойства (такие классы называются по принципу <ИмяТипа>Animation, например, ColorAnimation, DoubleAnimation)
  • Анимация ключевого кадра – изменения свойств в определенный моментвремени (такие классы называются <ИмяТипа>AnimationUsingKeyFrames, например, DoubleAnimationUsingKeyFrames)
  • Анимация на основе пути – изменения значения свойства на основе фигуры, описанной в объекте PathGeometry

Свойства объектов анимации

  • From – начальное значение, с которого начнется анимация.
  • To – значение анимированного свойства, до которого будет работать анимация.
  • By – для создания анимации, которая изменяет значение свойства на определенную величину.
  • Duration – продолжительность анимации. Задается с помощью объекта Duration

Свойства TimeLine

TimeLine – базовый класс для всех объектов анимации.

  • BeginTime – задержка перед запуском анимации.
  • Duration – продолжительность
  • SpeedRatio – изначально равно 1. Чем больше значение, тем быстрее проиграется видео, например, если значение 2, то видео закончится в два раза быстрее.
  • AccelerationRatio и DecelerationRatio – Делает скорость воспроизведения анимации не линейной. Ускорение и замедление при анимации. Значения от 0 до 1.
  • AutoRevers – анимация будет запущена в обратном порядке, как только завершится.
  • FillBehavior – определяет, что случится по завершению анимации. Оставить значения свойств зафиксированными HoldEnd или вернуть к исходным Stop.
  • RepeatBehavior – позволяет повторить анимацию заданное количество раз, в течении указанного интервала времени.

Анимация ключевого кадра

Анимация ключевого кадра состоит из множества коротких сегментов.

  • LinerPointKeyFrame – линейный ключевой кадр, при переходе от ключа к ключу выполняется линейная интерполяция для анимируемых свойств.
  • DiscretePointKeyFrame – при переходе между кадрами дискретного ключа интерполяция не производится.

Пример простой анимации.

 

Пример Xaml анимации

 

Пример анимации в Style Xaml разметке

 

Пример, анимации смены дня и ночи на картинке, используем только Xaml

 

Пример анимационной трансформации вращения кнопок.

 

если в разметке изменить все свойства RenderTransform на LayoutTransform то анимационная отрисовка будет происходить в момент наведения курсора, тем самым получится эффект как будто кнопки толкаю друг друга при вращении.

Пример анимации перемещения изображения по созданному пути.

 

.

Обновлено: 30.04.2021 — 16:47

2 комментария

Оставить комментарий
  1. Дмитрий

    Спасибо за полезности ))

    1. Пожалуйста

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.