2012-01-13 2 views
1

Есть ли простой способ запустить анимацию на основе раскадровки WPF, а затем запустить ее в обратном порядке, чтобы вернуть все вещи в исходное состояние?Анимация бежит вперед, а затем возвращается назад в исходное состояние

Предпочтительно, я хотел бы сделать это программно:

Storyboard sb=new Storyboard(); 

... 

sb.Begin(); 

// Now how to do I run sb in reverse, to move things to where they were 
// before the sb started? 

Например, вы могли бы иметь анимацию, где эллипс движется слева направо, и вы хотели бы для него в конце, чтобы перейти обратно левый, где он начал:

enter image description here

+0

В одном запущенном запуске или двух? –

+0

В одном запущенном запуске было бы предпочтительнее, но если есть более простой способ сделать это за два, я тоже хотел бы это увидеть. –

ответ

5

вы пробовали настройки AutoReverse к true тогда?

+0

Это именно то, что я искал, но было бы неплохо увидеть, как запустить анимацию в обратном порядке вручную (после ее завершения). –

+0

@MichaelGoldshteyn: Я попытался это сделать один раз и не нашел простой метод, поэтому я закончил дублирование SB и изменил все значения 'To' на их начало. Может быть, я упустил что-то, хотя ... –

+1

@MichaelGoldshteyn: О да, визуальный менеджер состояния может быть вариантом ([связанный вопрос] (http://stackoverflow.com/questions/4665529/how-to-reverse-wpf-storyboard -анимация)). –

0
Storyboard sb=new Storyboard(); 
sb.AutoReverse=true; 
... 

sb.Begin(); 

// Now how to do I run sb in reverse, to move things to where they were 
// before the sb started? 
Смежные вопросы