Silverlight: Faites partie d'une répétition de storyboard
-
20-08-2019 - |
Question
Est-il possible de créer un storyboard où la deuxième moitié se répète, mais pas la première moitié? Ou encore, puis-je faire en sorte qu'un scénario commence après un autre, tout en xaml?
La solution
Je ne pense pas que vous puissiez travailler avec des animations uniquement en XAML / Blend, vous devez de toute façon les commencer dans le code.
StoryBoard1.Begin();
Mais le code pour démarrer une autre animation juste à la fin de la première est assez simple:
D'abord, vous vous abonnez aux événements terminés dans le code:
this.Storyboard1.Completed += new EventHandler(Storyboard1_Completed);
this.Storyboard2.Completed += new EventHandler(Storyboard2_Completed);
this.Storyboard1.Begin();
Ensuite, dans les gestionnaires d'événements respectés si Storyboard1 est terminé, vous démarrez Storyboard2 et inversement.
private void Storyboard2_Completed(object sender, EventArgs e){
this.Storyboard1.Begin();
}
private void Storyboard1_Completed(object sender, EventArgs e)
{
this.Storyboard2.Begin();
}
Pour ajouter les gestionnaires d'événements, il vous suffit de saisir Storyboard.Completed + =, puis d'appuyer deux fois sur la touche tab et le logiciel générera les méthodes nécessaires.