Ich habe eine einfache Unterklasse von StackPanel
erstellt, die ich mit einem animierten TranslateTransform
auf dem Bildschirm bewegen kann. Es sieht so aus:
Und hier ist mein Problem: Wenn ich die X- und Y-Eigenschaften direkt animiere, wie der obige Code, funktioniert es. Aber wenn ich den auskommentierten Code darüber verwende, was wirklich die einfachste Erstellung eines Storyboard
im Code ist, passiert nichts. Die Animation wird ausgeführt - mindestens wird das Completed-Ereignis ausgelöst, aber auf dem Bildschirm ändert sich nichts.
Klar mache ich etwas falsch, aber ich kann nicht sehen, was es ist. Jedes Beispiel zum Erstellen von Storyboards in Code, die ich gesehen habe, sieht genau so aus. Es gibt offensichtlich etwas über Animationen und Storyboards, die ich noch nicht kenne: Was ist das?
Wie sich herausstellt, können Sie in diesem Fall keine Syntax für den Eigenschaftenpfad verwenden, da die animierten Eigenschaften keine Eigenschaften von FrameworkElement
sind. Zumindest interpretiere ich die bemerkenswert verwirrende Ausnahme, die ich bekomme, wenn ich die von Anvaka vorgeschlagene Änderung mache:
Um diese zu animieren, muss ich ein NameScope
verwenden und SetTargetName
verwenden, um TransformElement
zu benennen. Solange das FrameworkElement
übergeben wird, für das ich den Namensumfang auf die Methode Begin
festgelegt habe, kann das Storyboard das Objekt und die Eigenschaften finden und animieren und alles funktioniert. Das Endergebnis sieht so aus:
Es ist die Eigenschaftspfad -Syntax. Der folgende Ansatz funktioniert:
%Vor%Tags und Links wpf animation storyboard