Expression Blend 4 und Storyboards

Mein Kollege Bernhard meint zwar das er Storyboards lieber in XAML Code tippt aber ich verlasse mich da besser auf das passende Werkzeug: Expression Blend. Dies ist ja nun in Version 4 verfügbar. Dieses mal möchte ich kurz zeigen wie man Storyboards steuern kann ganz ohne Code. Ich gehe mal davon aus das die grundlegende Kenntnisse vorhanden sind. Falls nicht einfach Mail an hannesp AT ppedv.de senden und ich werde ein Einführungs Post nachschieben. Hier geht es um das Starten einer Animation und was nachher passieren soll.

ControlStoryBoardAction

Aus den Bereich Assets finden sich einige Blend typische Behavoirs. Mit diesen kann ein Designer ohne Code das Verhalten einer Benutzer Schnittstelle steuern. Um ein Storyboard auf eine definierte Benutzer Aktion in Silverlight zu starten verwendet man ControlStoryBoardAction.

image

Diese Action zieht man per Drag Drop einfach auf das Control das als Steuerung dienen soll. In diesem Beispiel die ganze Silverlight Anwendung per Layoutroot.

image

Dann wird in dem Eigenschaft Dialog festgelegt welche Aktion ( hier MouseleftbuttonDown) welches Storyboard (hier Storyboard1) steuern soll und letztendlich welche Aktion ausgeführt werden soll.

image

Das war's schon. Keine Zeile Code nötig.

In den Triggern gibt es auch noch ein paar ganz abgefahrene. So auch einen der das Event behandelt wenn das Storybord fertig ist.

image

RemoveElementAction

Im nächsten Teil betrachten wir wenn ein Storyboard zu Ende ist, also ein finished Event feuert. In meiner Anforderung steht das ein neu erzeugtes UIElement eine Animation ablaufen lassen soll und dann anschliessen spurlos aus dem Controltree entfernt werden soll. Das kann man aufwendig per Code erledigen oder per Maus und Expression Blend.

Dafür kommt das RemoveElementAction Behavior zum Einsatz. Einfach per Drag und Drop reinziehen.

image

Dann wird noch ganz ähnlich wie vorher beschrieben gesteuert was wann wie entfernt werden soll. In meinem Fall soll nach Ende der Animation das animierte Objekt (hier Ellipse) verschwinden.

image

 

Für mich einfach nur genial.

Kommentar schreiben