我有一张照片,我正试图移动它并旋转它。使用此代码移动可以正常工作
<Storyboard x:Key="sbShowFormPlayPauseArrow" >
<ThicknessAnimation
Storyboard.TargetProperty="Margin"
From="280,0,0,-420" To="280,0,0,400"
DecelerationRatio=".2"
Duration="0:0:1.35" />
</Storyboard>
轮换确实喜欢这个
<Storyboard x:Key="sbShowFormPlayPauseArrowRotate" >
<DoubleAnimation
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
From="0" To="180"
DecelerationRatio=".2"
Duration="0:0:1.35" />
</Storyboard>
动画调用本身
private void RotateImage(string Storyboard, System.Windows.Controls.Image image)
{
Storyboard sb = Resources[Storyboard] as Storyboard;
sb.Begin(image);
}
RotateImage("sbShowFormPlayPauseArrow", arrowUp);
RotateImage("sbShowFormPlayPauseArrowRotate", arrowUp);
项目启动并且不会产生任何错误,只移动图像,但没有旋转 我的错是什么?不能理解( 感谢。
答案 0 :(得分:2)
您的图片(您未提供的xaml)很可能没有将RenderTransform
设置为RotateTransform
,您需要这样做:
<Image Source="...">
<Image.RenderTransform>
<RotateTransform Angle="0" />
</Image.RenderTransform>
</Image>
原因是你从动画中引用了RotateTransform
:
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"