2009-03-19 13 views
0

Ist es möglich, ein Storyboard zu erstellen, in dem die zweite Hälfte wiederholt wird, aber die erste Hälfte nicht? Oder kann ich alternativ dazu veranlassen, dass ein Storyboard gestartet wird, nachdem ein anderer fertig ist, alles in XAML?Silverlight: Teil eines Storyboards wiederholen

Antwort

2

Ich glaube nicht, dass Sie mit Animationen nur in XAML/Blend arbeiten können, Sie müssen sie sowieso im Code beginnen.

StoryBoard1.Begin(); 

Aber der Code eine andere Animation genauso wie die erste beendet zu starten ist ganz einfach:

Zuerst auf die Completed Ereignisse in Code abonnieren:

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

Dann in den angesehenen Eventhandler Wenn Storyboard1 beendet ist, starten Sie Storyboard2 und umgekehrt.

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

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

Um die Eventhandler fügen Sie einfach eingeben müssen Storyboard.Completed + = und dann drücken Sie Tab zweimal und es wird die benötigten Methoden erzeugen.