c# - Animation object cannot be used to animate RenderTransform -
c# - Animation object cannot be used to animate RenderTransform -
i have togglebutton i'm applying next style
<style x:key="togglebuttonstyle" targettype="togglebutton"> <setter property="template"> <setter.value> <controltemplate targettype="togglebutton"> <grid> <visualstatemanager.visualstategroups> <visualstategroup x:name="commonstates"> <visualstategroup.transitions> <visualtransition generatedduration="0:0:0.1"/> </visualstategroup.transitions> <visualstate x:name="normal"/> <visualstate x:name="mouseover"> <storyboard> <objectanimationusingkeyframes storyboard.targetproperty="(uielement.visibility)" storyboard.targetname="mouseoverborder"> <discreteobjectkeyframe keytime="0"> <discreteobjectkeyframe.value> <visibility>visible</visibility> </discreteobjectkeyframe.value> </discreteobjectkeyframe> </objectanimationusingkeyframes> </storyboard> </visualstate> <visualstate x:name="pressed"/> <visualstate x:name="disabled"/> </visualstategroup> <visualstategroup x:name="checkstates"> <visualstate x:name="checked"> <storyboard> <doubleanimation duration="0:0:0.3" to="0" storyboard.targetproperty="(uielement.rendertransform).(rotatetransform.angle)" storyboard.targetname="normal" /> </storyboard> </visualstate> <visualstate x:name="unchecked"> <storyboard> <doubleanimation duration="0:0:0.3" to="180" storyboard.targetproperty="(uielement.rendertransform).(rotatetransform.angle)" storyboard.targetname="normal"/> </storyboard> </visualstate> <visualstate x:name="indeterminate"/> </visualstategroup> <visualstategroup x:name="focusstates"> <visualstate x:name="focused"/> <visualstate x:name="unfocused"/> </visualstategroup> </visualstatemanager.visualstategroups> <border background="#ff181615" grid.row="2" grid.columnspan="3" cornerradius="4" width="100" height="20"/> <border x:name="mouseoverborder" background="{staticresource buttonhoverfill}" grid.row="2" grid.columnspan="3" cornerradius="4" width="100" height="20" visibility="collapsed"/> <stackpanel orientation="horizontal" margin="5,0,5,0"> <path x:name="normal" horizontalalignment="center" width="10" stretch="fill" opacity="1" data="m1,6 c1,6 1,11 1,11 c1,11 7.5,6.3583374 7.5,6.3583374 c7.5,6.3583374 14,11 14,11 c14,11 14,6 14,6 c14,6 7.5,1.3583374 7.5,1.3583374 c7.5,1.3583374 1,6 1,6 z" fill="white" uselayoutrounding="false" verticalalignment="center" height="9" stroke="white" rendertransformorigin="0.5,0.5" > <path.rendertransform> <rotatetransform angle="180"/> </path.rendertransform> </path> <textblock text="input" fontfamily="calibri" margin="5,2,0,0" fontsize="12" foreground="white"/> </stackpanel> </grid> </controltemplate> </setter.value> </setter> </style> the xaml editor throws error, error 1 'system.windows.media.animation.doubleanimation' animation object cannot used animate property 'rendertransform' because of incompatible type 'system.windows.media.transform'.
but seems work fine if run executable. can tell me why rendertransform refusing animated in xamleditor?
could seek revising definition of rendertransform utilize transformgroup this:
<path x:name="normal" ... > <path.rendertransform> <transformgroup> <scaletransform/> <skewtransform/> <rotatetransform angle="180"/> <translatetransform/> </transformgroup> </path.rendertransform> </path> and alter path property in doubleanimation this:
<doubleanimation duration="0:0:0.3" to="0" storyboard.targetproperty="(uielement.rendertransform).(transformgroup.children)[2].(rotatetransform.angle)" storyboard.targetname="normal" /> this construction seems tooling prefers.
c# wpf xaml animation
Comments
Post a Comment