Silverlight: fai parte di uno storyboard ripetuto
-
20-08-2019 - |
Domanda
È possibile creare uno storyboard in cui la seconda metà si ripete, ma la prima metà no? O in alternativa, posso fare in modo che uno storyboard inizi dopo che un altro è finito, tutto in xaml?
Soluzione
Non credo che tu possa lavorare con le animazioni solo in XAML / Blend, devi comunque iniziare con il codice.
StoryBoard1.Begin();
Ma il codice per iniziare un'altra animazione così come finisce la prima è abbastanza semplice:
Per prima cosa ti iscrivi agli eventi completati nel codice:
this.Storyboard1.Completed += new EventHandler(Storyboard1_Completed);
this.Storyboard2.Completed += new EventHandler(Storyboard2_Completed);
this.Storyboard1.Begin();
Quindi nei gestori di eventi rispettati se Storyboard1 ha finito, inizi storyboard2 e viceversa.
private void Storyboard2_Completed(object sender, EventArgs e){
this.Storyboard1.Begin();
}
private void Storyboard1_Completed(object sender, EventArgs e)
{
this.Storyboard2.Begin();
}
Per aggiungere i gestori di eventi devi solo digitare Storyboard.Completed + = e quindi premere due volte tab e genererà i metodi necessari.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow