i have custom control animation want control. attempt update using visualstatemanager.gotostate returns false in silverlight , animation never starts. works in wpf though same xaml.
the silverlight code
//to start retval = extendedvisualstatemanager.gotoelementstate(this.canvasparent, "workingstate", true); the wpf code
retval = visualstatemanager.gotoelementstate(this.canvasparent, "workingstate", true); xaml (common):
<style targettype="local:waitspinner"> <setter property="template"> <setter.value> <controltemplate targettype="local:waitspinner"> <viewbox visibility="{templatebinding visibility}"> <canvas rendertransformorigin="0.5,0.5" x:name="canvasparent" width="120" height="120"> <!-- other awesomeness --> <visualstatemanager.visualstategroups> <visualstategroup x:name="working"> <visualstate x:name="workingstate"> <storyboard> <doubleanimation storyboard.targetname="spinnerrotate" storyboard.targetproperty="angle" from="0" to="360" duration="0:0:01.3" repeatbehavior="forever" /> </storyboard> </visualstate> <visualstate x:name="stop"/> </visualstategroup> </visualstatemanager.visualstategroups> </canvas> </viewbox> </controltemplate> </setter.value> </setter> </style>
put <visualstatemanager.visualstategroups> on first controltemplate child :
<style targettype="local:waitspinner"> <setter property="template"> <setter.value> <controltemplate targettype="local:waitspinner"> <viewbox visibility="{templatebinding visibility}"> <visualstatemanager.visualstategroups> <visualstategroup x:name="working"> <visualstate x:name="workingstate"> <storyboard> <doubleanimation storyboard.targetname="spinnerrotate" storyboard.targetproperty="angle" from="0" to="360" duration="0:0:01.3" repeatbehavior="forever" /> </storyboard> </visualstate> <visualstate x:name="stop"/> </visualstategroup> </visualstatemanager.visualstategroups> <!-- ................. --> edit : (i full response comment) use visualstatemanager gotostate method this :
visualstatemanager.gotostate(this, "workingstate", true);
Comments
Post a Comment