在Windows 8 metro的点周围旋转图像

时间:2013-10-18 09:09:15

标签: c# animation windows-8

我想使用用户的轻弹速度围绕一个点旋转图像,它应该在旋转时减速,效果应该是自然的......

到目前为止,我已经尝试使用故事板来实现这一点,但由于用户的速度可以变化,因此无法获得所需的结果。我也尝试过使用更新循环,但我无法理解如何实现它。

enter image description here

我希望这个开始箭头绕钉子旋转。

ant help将不胜感激... thanx

1 个答案:

答案 0 :(得分:0)

您可以使用RotateTransform并将centerx centery设置为指甲位置:然后将Angle绑定到某个值并将其更改为您想要的任何值。

<Image.RenderTransform> 
<RotateTransform Angle="{Binding RotationAngle}" CenterX="10" CenterY="10" /> 
</Image.RenderTransform>

或者您可以使用故事板来更改角度(将矩形控件更改为图像)

,而不是绑定
<Rectangle Width="40" Height="40" Fill="Orange">
    <Rectangle.RenderTransform>
        <RotateTransform x:Name="Rotation" CenterX="10" CenterY="10" />
    </Rectangle.RenderTransform>
    <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Rectangle.Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation
    Storyboard.TargetName="Rotation" 
    Storyboard.TargetProperty="Angle"
    From="1.0" To="40.0" Duration="0:0:1" 
    AutoReverse="True" RepeatBehavior="Forever" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Rectangle.Triggers>
</Rectangle>