2013-11-26 4 views
1

Есть ли возможность зарегистрировать функцию для Animated Usercontroll, которая вызывается при завершении анимации?Функция обратного вызова анимации WPF

У меня есть Usercontroll-Animation Я начинаю с вызова .BeginAnimation (propdp, animation);

Как позвонить другой функции, когда анимация закончена?

+0

К сожалению, пользователи, указанные ниже, проголосовали, чтобы закрыть ваш вопрос, потому что они неправильно предположили, что ваша проблема была такой же, как и указанная в верхней части вашего вопроса. Я проголосовал за его повторное открытие, но нужно больше голосов ... приходите на сообщество StackOverflow ... см. Здесь какой-то смысл и заново откройте этот вопрос. – Sheridan

+1

@Sheridan Может быть, вы должны указать, что этот вопрос отличает друг от друга - в частности, потому что ответ на вышеупомянутый вопрос точно содержит фрагмент кода, который будет использоваться. Он даже связывает ту же документацию, что и вы. – JeffRSon

+0

+1 @JeffRSon, вы совершенно правы, и я ошибочно смотрел на другой вопрос, который был основан на «раскадровке». Я согласен с тем, что этот вопрос такой же, как связанный вопрос, и отменил мой предыдущий комментарий. Спасибо, что вернулись, чтобы указать на это. – Sheridan

ответ

4

Существует Timeline.Completed Event, который вы можете использовать. Вы можете либо установить его в XAML, либо в C# на экземпляре Storyboard. На связанной странице есть полный рабочий пример, который вы можете просмотреть.

обработчиком по умолчанию EventHandler delegate:

private void StoryboardCompleted(object sender, EventArgs e) 
{ 
    // the Storyboard has stopped 
} 

UPDATE >>>

Completed Хотя событие может быть установлен на Storyboard, например, это на самом деле, определенной в Timeline класс. Поскольку Timeline является базовым классом для всех классов AnimationTimeline, это означает, что вы также можете приложить обработчик события Completed от объекта AnimationTimeline, который вы передаете в событие BeginAnimation.

+0

ty, я проверю его – marcel

+0

Что делать, если у меня нет раскадровки? В этом примере мне нужна ссылка на раскадровку. – marcel

+0

Не нашел сообщение, которое я дублировал, прежде чем создал это. СРЮ. В любом случае, завершенное мероприятие отлично работает. thx к JeffRSon также :) – marcel

0

Событие animation.Completed.

+0

Какую функцию я должен переопределить в своем пользовательском элементе управления для ее использования? – marcel

+0

Никакая функция не должна быть переоценена. Вы должны установить обработчик для события Completed вашей анимации. – JeffRSon

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