Добавить анимацию RotateTransform в раскадровку в коде позади - PullRequest
4 голосов
/ 02 мая 2011

У меня есть следующая анимация, определенная в коде:

DoubleAnimation dbAscending = new DoubleAnimation(0, 15, new Duration(TimeSpan.FromMilliseconds(300)));
(myImage.RenderTransform as RotateTransform).BeginAnimation(RotateTransform.AngleProperty, dbAscending);

Это прекрасно работает, при запуске вращается myImage на 15 градусов. Теперь мне просто нужно создать новый Storyboard и добавить в него анимацию, потому что мне нужно использовать событие Completed. У меня есть небольшая проблема с этим, я заметил, что могу добавить анимацию к Storyboard.Children, но мне не удалось определить объект и свойство, к которому я хочу применить эту анимацию ...

Заранее спасибо за любую помощь, до сих пор я создавал раскадровки только в XAML ...

1 Ответ

7 голосов
/ 02 мая 2011

Вам необходимо установить свойства анимации, связанные с раскадровкой, что-то вроде:

DoubleAnimation dbAscending = new DoubleAnimation(0, 15, new Duration(TimeSpan.FromMilliseconds(300)));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(dbAscending);
Storyboard.SetTarget(dbAscending, myImage);
Storyboard.SetTargetProperty(dbAscending, new PropertyPath("RenderTransform.Angle"));

( не проверено; может также напрямую нацелить преобразование и уменьшить путь до угла )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...