J'utilise DoubleAnimation pour analyser la propriété Angle d'un RotationTransform. Plusieurs fois par seconde, j'ai besoin de changer le taux de rotation en réponse à des données externes afin que la rotation accélère et/ou ralentisse (doucement) au fil du temps. Je fais actuellement cela en utilisant un DoubleAnimation qui se répète toujours de 0,0 à 360,0 avec une durée X, puis plusieurs fois par seconde:Modifier dynamiquement une animation de rotation dans WPF
- Faire une nouvelle valeur à partir de données externes
- Modifier le taux sur le DoubleAnimation que valeur
- réappliquer le DoubleAnimation à la propriété angle encore
note: Je ne trouve que je devais changer le vers et à partir des propriétés de l'animation « angle actuel » et « angle actuel + 360 » - chanceux pour moi RotationTransform n'a aucun problème avec les angles > 360 degrés - pour éviter de recommencer la rotation depuis l'angle zéro.
Ma question est: Est-ce raisonnable? Cela ne semble pas être le cas. Appliquer continuellement de nouvelles DoubleAnimations à la propriété Angle sur une transformation de rotation semble faux - un peu comme si je laissais WPF animer la rotation, alors que I animais moi-même la vitesse de rotation.
Y a-t-il un meilleur moyen?
Cela serait très apprécié. – Bill
Merci, je serai en mesure d'utiliser cela. C'est drôle que nous devions faire un appel de méthode (SetSpeedRatio), ce qui signifie que je ne peux pas animer le changement de rapport de vitesse avec une autre animation, tout en Xaml et tout; mais cela semble beaucoup plus correct que d'appliquer de nouvelles animations tout le temps pour obtenir l'effet. Merci. – Bill
Cette réponse était très utile dans notre cas, mais il y a une différence importante qui ne l'a pas fait fonctionner. au moins avec WPF dans WinRT. La méthode SetSpeedRatio() n'a rien fait donc nous l'avons changé à la propriété SpeedRatio et cela a fait l'affaire. –