2015-10-03 2 views
2

Я relativly новичок в WPF и у меня есть вопрос, касающийся переходов в WPF:WPF - Поворот Transform Переход

Как создать и использовать их? Мой результат поиска google в основном около анимации не переходы. Моя цель состоит в том, чтобы создать что-то вроде этого:

Imagine У меня есть форма:

<Rectangle Width="100" Height="200" Name="shape_01" x:Key="shape_01" Fill="Green"/> 

вращение whoms будет установлен во время выполнения для (пока) неизвестных значений. Значит, я не могу использовать Storyboard или Animation для создания перехода. Я использую следующий код, чтобы установить угол поворота:

double angle = ....; 

((shape_01.RenderTransform as TransformGroup) 
    .Children.First(_ => _ is RotateTransform) as RotateTransform) 
    .Angle = angle; 

Как переход предыдущего значения на текущее значение?

+0

WPF использует анимации для «переходов». – Clemens

+0

@ Clemens: Извините, но не могли бы вы немного подробнее разобраться, сэр? Я еще не очень хорошо знаком с концепцией WPF-анимации/перехода/раскадровки ... – Unknown6656

ответ

3

Вы должны использовать DoubleAnimation для «перехода» свойства от одного значения к другому. Если вы не задали свойство анимации From, переход начинается с текущего значения свойства.

double angle = ....; 

var animation = new DoubleAnimation 
{ 
    To = angle, 
    Duration = TimeSpan.FromSeconds(1) 
}; 

var transform = ((TransformGroup)shape_01.RenderTransform) 
    .Children.OfType<RotateTransform>().First(); 

transform.BeginAnimation(RotateTransform.AngleProperty, animation); 
+0

Как бы вы это делали в XAML? – MikeT

Смежные вопросы