如何开始动画,等待'X'秒然后撤销动画?

How to start animation, wait for 'X' seconds and then undo animation?

我有一个动画,当我遇到要向用户显示的错误时,它会拉下一个文本块。目前,它会在 0.5 秒内下降。有没有办法在 0.5 秒内将其放下,保持 10 秒,然后在 0.5 秒内隐藏它?我找到了自动反转 属性,它负责开始和结束,但我还没有找到让文本块显示指定时间段的方法。如有任何帮助,我们将不胜感激!

<Window.Resources>
    <Storyboard x:Key="MessageSlide" AutoReverse="True">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" Storyboard.TargetName="textBlock">
            <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="50"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>
<Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
        <BeginStoryboard Storyboard="{StaticResource MessageSlide}"/>
    </EventTrigger>
</Window.Triggers>

添加另一个只包含值的关键帧:

<DoubleAnimationUsingKeyFrames ... AutoReverse="True">
    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="50"/>
    <DiscreteDoubleKeyFrame KeyTime="0:0:5.5" Value="50"/>
</DoubleAnimationUsingKeyFrames>

您也可以只设置动画的持续时间:

<DoubleAnimationUsingKeyFrames ... Duration="0:0:5.5" AutoReverse="True">
    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="50"/>
</DoubleAnimationUsingKeyFrames>