我的故事板跳过了一些关键帧

时间:2014-04-02 12:33:47

标签: c# wpf animation

我想将椭圆摆动到一个地方然后收缩它。在第一个故事板停止后,我打算用椭圆拉伸椭圆。然而,萎缩过程根本不起作用。难以确定原因〜任何帮助或提示将不胜感激。感谢〜

     <Window.Resources>
    <Storyboard x:Key="Swing" Duration="0:0:7">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="Leg" AutoReverse="True" RepeatBehavior="Forever">
            <EasingDoubleKeyFrame KeyTime="0" Value="27.081"/>
            <EasingDoubleKeyFrame KeyTime="0:0:1" Value="-25.783"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="Leg">
            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:6" Value="489.676"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Leg">
            <EasingDoubleKeyFrame KeyTime="0:0:6" Value="1"/>
            <EasingDoubleKeyFrame KeyTime="0:0:7" Value="0.2"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
    <Storyboard x:Key="Swing2" BeginTime="0:0:7">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Leg">
            <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0.2"/>
            <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
        <BeginStoryboard x:Name="Swing_BeginStoryboard" Storyboard="{StaticResource Swing}"/>
        <BeginStoryboard x:Name="Swing_BeginStoryboard1" Storyboard="{StaticResource Swing2}"/>
    </EventTrigger>
</Window.Triggers>

<Grid x:Name="LayoutRoot">
    <Ellipse x:Name="Leg" Fill="#FFF4F4F5" HorizontalAlignment="Left" Margin="156,204,0,147" Stroke="Black" Width="33" RenderTransformOrigin="0.464,-0.014">
        <Ellipse.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="27.081"/>
                <TranslateTransform/>
            </TransformGroup>
        </Ellipse.RenderTransform>
    </Ellipse>
</Grid>

如果我按如下所示更改第二个故事板,则椭圆将从头开始眨眼。

 <Storyboard x:Key="Swing2">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Leg">
            <EasingDoubleKeyFrame KeyTime="0:0:7" Value="0.2"/>
            <EasingDoubleKeyFrame KeyTime="0:0:9" Value="1"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

0 个答案:

没有答案