Laden...

DoubleAnimation während der Laufzeit verändern

Erstellt von Fabian E. vor 13 Jahren Letzter Beitrag vor 13 Jahren 708 Views
F
Fabian E. Themenstarter:in
258 Beiträge seit 2008
vor 13 Jahren
DoubleAnimation während der Laufzeit verändern

Hallo,

ich stehe gerade vor dem Problem, eine Animation zu verändern, während sie läuft.

Folgendes Szenario: Ich habe einen Zeiger (im grafischen Sinne) der animiert werden soll (-->eine Gauge).
Das klappt ja über eine DoubleAnimation auch ganz wunderbar.
Allerdings gibt es ein Problem, wenn die Gauge einen neuen Wert annehmen soll, bevor die Animation zu dem alten Wert fertig ist.

Dann wird nämlich eine neue Animation erzeugt und der Zeiger springt von der aktuellen Position der alten Animation zu der Startposition der neuen Animation. danach geht es natürlich flüssig weiter.

Ich habe das ganze auch schon auf anderem Wege versucht (Ansatz aus Winforms, mit Timer, der das ganze animiert), dabei habe ich allerdings Probleme mit Multithreading und den DependencyProperties, was dann in der Folge zu massiven Performanceeinbußen beim Synchronisieren der Threads (GUI-Thread und Timer-Thread) führt.
Aber immerhin klappt es dann so wie ich das will.

Daher nun auch meine Frage: Gibt es eine Möglichkeit, eine laufende Animation so zu verändern, dass sie flüssig weiter läuft, auch wenn sich quasi die "Richtiung" ändert? Kann ich irgendwie den aktuellen Wert der Animation sauber abgreifen?
Direkt über die zu animierende DP?