下面我画了一个圆周的弧,现在我想在一个循环中无限地应用从0到360的旋转来模拟一个旋转动画。你可以看到here,一个圆周的弧永远旋转。
<DrawingImage x:Key="ico_spinnerDrawingImage">
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V12 H12 V0 H0 Z">
<DrawingGroup.Transform>
<TranslateTransform X="9.5367397534573684E-07" Y="1.1465158453161615E-14" />
</DrawingGroup.Transform>
<GeometryDrawing Brush="#FF00AA2B" Geometry="F1 M12,12z M0,0z M12,12C12,10.4241 11.6896,8.86371 11.0866,7.4078 10.4835,5.95189 9.59958,4.62902 8.48528,3.51472 7.37098,2.40042 6.04811,1.5165 4.5922,0.913445 3.13629,0.310389 1.57586,-6.88831E-08 -9.53674E-07,0L0,3C1.1819,3 2.35222,3.23279 3.44415,3.68508 4.53608,4.13738 5.52823,4.80031 6.36396,5.63604 7.19969,6.47177 7.86262,7.46392 8.31492,8.55585 8.76721,9.64778 9,10.8181 9,12L12,12z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
上面的drawingimage包含在我导入到WPF视图的字典中,我通过以下操作将其与WPF图像的source属性关联起来(我删除了不相关的属性):
<Image Source="{Binding Path=MySpinnerIcon}"/>
现在,如何将该动画应用于drawingimage以模拟一个动画旋转器永远持续旋转?
1条答案
按热度按时间ghhkc1vu1#
您可以动态显示
RotateTransform
的Angle
属性,该属性用作UI元素的RenderTransform
。动画本身由
StoryBoard
中的DoubleAnimation
执行,例如,可以由UI元素的Loaded
事件上的EventTrigger
启动。下面的示例使用一个简单的
Path
元素而不是Image元素。它在一个200x200的框中绘制了一个20个单位宽的椭圆弧,两端为圆形,半径为90。