为Dotnet控件添加旋转动画触发。最大的难点在于确定动画的target property。使用Blend工具,生成动画的XAML代码中,可以看到该参数中使用的包含数组引用的RenderTransform参数((UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle))。但在使用的时候引用失效。一开始总是无法确定究竟是触发器的错误还是执行的错误耗费了许多时间。后来阴差阳错,触发后跳出了错误。看来不光是编译错误,执行错误有时候也能很大程度上帮助调试工作的进行。
参考资料:http://stackoverflow.com/questions/17673220/how-to-set-targetproperty-for-ellipse-in-storyboard
这里面有一处需要修改
<PropertyControl:ContentProperty.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</PropertyControl:ContentProperty.RenderTransform>
为
<PropertyControl:ContentProperty.RenderTransform>
<RotateTransform/>
</PropertyControl:ContentProperty.RenderTransform>
随后用
(UIElement.RenderTransform).(RotateTransform.Angle) 对TargetProperty进行引用。
参考资料:http://stackoverflow.com/questions/17673220/how-to-set-targetproperty-for-ellipse-in-storyboard
这里面有一处需要修改
<PropertyControl:ContentProperty.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</PropertyControl:ContentProperty.RenderTransform>
为
<PropertyControl:ContentProperty.RenderTransform>
<RotateTransform/>
</PropertyControl:ContentProperty.RenderTransform>
随后用
(UIElement.RenderTransform).(RotateTransform.Angle) 对TargetProperty进行引用。