2010-08-14 7 views
1

Ceci est probablement une question simple, mais comment puis-je savoir quand une animation Storyboard est terminée? J'utilise .Net 3.0 alors peut-être que c'est la raison pour laquelle, mais dans mes autres projets (.net 4), il y avait un simple événement Completed que je pouvais gérer. Quel est le moyen de le faire dans WPF avec .net 3.0? MerciStoryboard - Aucun événement terminé

modifier en réponse aux commentaires: Je suppose que l'erreur se trouve ailleurs. Je ne peux pas accéder à mon storyboard depuis le code-behind.

//storyboardBounce does not exist error is thrown 
    storyboardBounce.Completed += new EventHandler(Storyboard_Completed); 

Cependant, si j'attribue des déclencheurs de boutons Blend, je peux y accéder comme ceci:

sbDisplayContents_BeginStoryboard.Storyboard.Completed += new EventHandler(Storyboard_Completed); 

Mais comme il y a beaucoup d'éléments déclencheurs qui appellent le même story-board, je dois régler manuellement la gestionnaires d'événements pour chacun comme ci-dessus. Y a-t-il une raison pour laquelle mon storyboard n'est pas accessible depuis le code-behind? Ou est-il un moyen d'avoir plusieurs déclencheurs assignés à la même story-board pour que je n'ai pas à gérer l'événement terminé pour

sbDisplayContents_BeginStoryboard... 
sbDisplayContents_BeginStoryboard1... 
sbDisplayContents_BeginStoryboard2... 

etc ..

Merci

Répondre

1

l'événement Completed existe dans la version 3.0 ... (il est hérité de Timeline)

http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed.aspx

en charge dans: 4, 3.5, 3,0


MISE À JOUR

Si votre story-board est déclaré dans les ressources, vous ne pouvez pas y accéder directement dans le code-behind. Vous devez appeler FindResource:

StoryBoard storyboardBounce = FindResource("storyboardBounce") as StoryBoard; 
+0

Thanks.I deviner l'erreur est ailleurs - je l'ai mis à jour mon message original. – Skoder

+0

C'est réglé le problème, merci! – Skoder

Questions connexes