WPF - 根据持续时间停止动画

时间:2016-05-03 13:21:47

标签: c# wpf animation

我在XAML中声明了一个故事板,就像这样。

    <Window.Resources>
    <Storyboard x:Key="Storyboard1">
        <DoubleAnimationUsingPath Duration="0:0:60"   BeginTime="0:0:0 " Source="X" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="object_to_move">
            <DoubleAnimationUsingPath.PathGeometry >
                <PathGeometry Figures="M-1.75,-21 L6.75,-53.25 L29.75,-91.25 L49.75,-114.75 L56.75,-119.75"/>
            </DoubleAnimationUsingPath.PathGeometry>
        </DoubleAnimationUsingPath>
        <DoubleAnimationUsingPath Duration="0:0:60"   BeginTime="0:0:0" Source="Y" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="object_to_move">
            <DoubleAnimationUsingPath.PathGeometry>
                <PathGeometry Figures="M-1.75,-21 L6.75,-53.25 L29.75,-91.25 L49.75,-114.75 L56.75,-119.75"/>
            </DoubleAnimationUsingPath.PathGeometry>
        </DoubleAnimationUsingPath>

    </Storyboard>

</Window.Resources>

我想要实现的是对动画的更多控制。所以,首先我在后端调用故事板的引用就像这样。

// This works just fine. 
var sub = FindResource("Storyboard1") as Storyboard;
sub.begin() // or Do something else

但我希望能够使用duration停止动画,特别是使用毫秒。对于实例,当object_to_move移动0:0:35毫秒时,我希望它在到达0:0:50标记时停止。

实现这一目标的最佳方法是什么?

0 个答案:

没有答案