J'essaie d'écrire une méthode d'extension C# simple (autonome) pour réaliser un fondu enchaîné d'un UIElement WPF générique, mais les solutions (et les exemples de code) que j'ai trouvées contiennent toutes un grand nombre de pièces mobiles (comme la mise en place d'une histoire, etc.).
Pour référence, voici un exemple du type de méthode API que je voudrais créer. Ce code fera pivoter un UIElement en fonction des valeurs fournies (fromValue, toValue, durée et boucle)
public static T rotate<T>(this T uiElement, double fromValue, double toValue, int durationInSeconds, bool loopAnimation)
where T : UIElement
{
return (T)uiElement.wpfInvoke(
()=>{
DoubleAnimation doubleAnimation = new DoubleAnimation(fromValue, toValue, new Duration(TimeSpan.FromSeconds(durationInSeconds)));
RotateTransform rotateTransform = new RotateTransform();
uiElement.RenderTransform = rotateTransform;
uiElement.RenderTransformOrigin = new System.Windows.Point(0.5, 0.5);
if (loopAnimation)
doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
rotateTransform.BeginAnimation(RotateTransform.AngleProperty, doubleAnimation);
return uiElement;
});
}