Silverlight: сделать часть повторения раскадровки - PullRequest
0 голосов
/ 19 марта 2009

Можно ли создать раскадровку, в которой вторая половина повторяется, а первая - нет? Или, в качестве альтернативы, можно ли запустить одну раскадровку после завершения другой, все в xaml?

1 Ответ

2 голосов
/ 20 марта 2009

Я не думаю, что вы можете работать с анимациями только в XAML / Blend, вам все равно нужно начинать их в коде.

StoryBoard1.Begin();

Но код для запуска другой анимации, как только заканчивается первая, довольно прост:

Сначала вы подписываетесь на Завершенные события в коде:

this.Storyboard1.Completed += new EventHandler(Storyboard1_Completed);
this.Storyboard2.Completed += new EventHandler(Storyboard2_Completed);
this.Storyboard1.Begin();

Затем в уважаемых обработчиках событий, если Storyboard1 закончил, вы запускаете storyboard2 и наоборот.

private void Storyboard2_Completed(object sender, EventArgs e){
        this.Storyboard1.Begin();
}

private void Storyboard1_Completed(object sender, EventArgs e)
{
    this.Storyboard2.Begin();
}

Чтобы добавить обработчики событий, вам просто нужно набрать Storyboard.Completed + =, а затем дважды нажать вкладку, и он сгенерирует необходимые методы.

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