我正在使用 WPF,但无法实现动画。
我有一个从 x 度旋转的矩形,其渲染变换原点从 0,0 开始。我希望这个矩形在 2 秒后从 y 度旋转,渲染变换原点从 0,1 开始。
当然,我想保留第二个动画的矩形位置。
我的问题是,当我更改渲染转换原点并应用第二次旋转时,当前位置没有保留,他从初始位置移动。
知道如何实现这一目标吗?
谢谢你的帮助。
<Window x:Class="SimpleMove"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="OpenWWindow" Height="900" Width="900">
<Grid >
<Rectangle Name="rec1" Width="100" Height="400" Fill="DimGray" RenderTransformOrigin="0,0">
<Rectangle.RenderTransform>
<RotateTransform x:Name="Rec1_Rotate"/>
</Rectangle.RenderTransform>
</Rectangle>
<Button Width="45" Height="30" Name="Button1">Start
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard TargetProperty="Angle">
<DoubleAnimation Storyboard.TargetName="Rec1_Rotate" By="40" Duration="00:00:1" BeginTime="00:00:00"/>
<PointAnimation Storyboard.TargetName="rec1" Storyboard.TargetProperty="RenderTransformOrigin" To="0,1" Duration="00:00:0" BeginTime="00:00:02" />
<DoubleAnimation Storyboard.TargetName="Rec1_Rotate" By="-80" Duration="00:00:2" BeginTime="00:00:03"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Button.Triggers>
</Button>
</Grid>
</Window>