J'ai un groupe de WPF UserControls qui déclenchent en interne certaines animations sur les interactions utilisateur. Toutes les animations ont répété EternaVior = "True" et toutes les animations ont la même durée. Maintenant, je voudrais synchroniser toutes ces animations sur une timeline afin de s'effondrer et de sortir en synchronisation. Peu importe lorsque l'utilisateur trébrit les animations. Par exemple, si les animations toutes les 3 dernières années et l'utilisateur déclenchent la 2e animation 1,5 seconde après la première, je veux toujours que les animations atteignent leur maximum en même temps. Peut-être que je peux définir une ligne horaire globale dans un dictionnaire de ressources global que toutes les animations définies quelque part dans les utilisateurs d'UserControls peuvent utiliser? De préférence xaml seulement. P>
3 Réponses :
Ajoutez simplement toutes vos animations à un seul TimelineCollection . Ajoutez ensuite cette timelinecollection à votre Storyboard.children . Ensuite, ils vont tous tirer simultanément. P>
Comme je l'ai dit, les animations sont définies dans mes uscontrols. Je ne pense pas qu'il existe un moyen d'ajouter des animations définies dans différents uscontrols à la même timeline. Ou peut-être qu'il y a?
xaml: impossible (autant que je sache) p>
Code: CompositionTarget.Randending P>
Pouvez-vous élaborer comment j'utiliserais l'événement CompositionTarget.Rendance avec mes définitions d'animation?
Vous devrez déplacer une animation en code. Dans l'événement de rendu, vérifiez quelles animations doivent être exécutées et mettre à jour manuellement les propriétés correspondantes en fonction d'une variable de minuterie unique. Ce n'est pas beaucoup de travail, juste quelques lignes de quelqueelement.SomeProperty = Basevalue + Tarif * Timepassed;
Peut-être que mon message peut vous aider http://translate.google.it/translate? JS = N & prev = _T & hl = IT & IE = UTF-8 & Layout = 2 & Eotf = 1 & SL = IT & TL = EN & U = http% 3A% 2f% 2fblogs.ugidototnet.org% 2fleonardo% 2f01% 2f08% 2fsincronizziamo-Le-Animazioni-Con- wpf.aspx & act = URL (est en italien et lien est de Google Translate) P>