Сильверлайт:Сделайте часть повторения раскадровки

StackOverflow https://stackoverflow.com/questions/662803

  •  20-08-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

StoryBoard1.Begin();

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

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

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 +=, а затем дважды нажать Tab, и он сгенерирует необходимые методы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top