2015-09-08 152 views
1

在Windows Phone 8.0 Silverlight中,我将能够在我的XAML页面中拍摄一张图像,并使用以下Storyboard将其完全旋转一次。DoubleAnimation - 旋转图像

<Storyboard x:Name="rotate_searching_image"> 
    <DoubleAnimation AutoReverse="False"        
     Duration="0:0:10" 
     From="0" 
     RepeatBehavior="1x" 
     Storyboard.TargetName="searching_image" 
     Storyboard.TargetProperty="Angle" 
     To="360" /> 
</Storyboard> 

我试图做同样的事情在我的新的Windows Phone 8.1运行时应用程序,但我得到一个错误说的财产Angle无法找到。如果我将TargetProperty更改为Opacity并将FromTo更新为适当的值,则一切正常。

我查看了UIElement,找不到任何可让我设置角度的属性或方法。

任何帮助,将不胜感激。

回答

5

UIElementFrameworkElement都没有Angle属性。您需要将动画应用于RotateTransformAngle属性。

首先,你需要创建一个转换对象:

<Image x:Name="searching_image"> 
    <Image.RenderTransform> 
     <RotateTransform/> 
    </Image.RenderTransform> 
</Image> 

然后改变TargetProperty这样:

<Storyboard x:Name="rotate_searching_image"> 
    <DoubleAnimation AutoReverse="False"        
     Duration="0:0:10" 
     From="0" 
     RepeatBehavior="1x" 
     Storyboard.TargetName="searching_image" 
     Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" 
     To="360" /> 
</Storyboard> 
+0

谢谢。它旋转但看起来像围绕左上角旋转。它可以围绕图像的中心旋转吗?这是我看到的。 http://imgur.com/8pLnOgs –

+0

没关系,在Image上设置'''RenderTransformOrigin =“0.5,0.5”'''使它工作。谢谢! –