从50到10设置高度动画,但从30 wpf开始

从50到10设置高度动画,但从30 wpf开始,wpf,animation,Wpf,Animation,我有一个矩形,我想设置高度的动画: <Rectangle Height="30" Width="10" Fill="Black" Margin="10,0,10,0"> <Rectangle.Triggers> <EventTrigger RoutedEvent="Rectangle.Loaded"> <BeginStoryboard> <St

我有一个矩形,我想设置高度的动画:

<Rectangle Height="30" Width="10" Fill="Black" Margin="10,0,10,0">
     <Rectangle.Triggers>
          <EventTrigger RoutedEvent="Rectangle.Loaded">
               <BeginStoryboard>
                    <Storyboard>
                         <DoubleAnimation Storyboard.TargetProperty="(Rectangle.Height)" From="50" To="10" Duration="0:0:1" RepeatBehavior="Forever"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
</Rectangle>


这很好,只是我希望矩形的初始起始高度为30。此代码覆盖高度,并在开始动画时将其设置为50,只需添加第二个动画即可

    <Rectangle Height="30"
               Width="10"
               Fill="Black"
               Margin="10,0,10,0">
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="Rectangle.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="(Rectangle.Height)"
                                         From="30"
                                         To="10"
                                         Duration="0:0:1"
                                         RepeatBehavior="1" />
                        <DoubleAnimation Storyboard.TargetProperty="(Rectangle.Height)"
                                         From="50"
                                         To="10"
                                         Duration="0:0:1"
                                         BeginTime="0:0:1"
                                         RepeatBehavior="Forever" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
    </Rectangle>

只需添加第二个动画

    <Rectangle Height="30"
               Width="10"
               Fill="Black"
               Margin="10,0,10,0">
        <Rectangle.Triggers>
            <EventTrigger RoutedEvent="Rectangle.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="(Rectangle.Height)"
                                         From="30"
                                         To="10"
                                         Duration="0:0:1"
                                         RepeatBehavior="1" />
                        <DoubleAnimation Storyboard.TargetProperty="(Rectangle.Height)"
                                         From="50"
                                         To="10"
                                         Duration="0:0:1"
                                         BeginTime="0:0:1"
                                         RepeatBehavior="Forever" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Rectangle.Triggers>
    </Rectangle>


如果在加载的事件中(技术上是即时的)用50覆盖,为什么要将初始高度设置为30?从动画中删除
From=“50”
?不清楚你在问什么。我希望它从30到10,再到50,再到10,再到50,再到10ect@TóthTibor我不知道如何应用动画,如果我想立即持续地完成它,那么让我更清楚地说,我希望它从30的高度开始,动画到10。立即设置为50,然后设置为10,然后立即设置为50并重复。它只会在30处出现一次,但我需要它以一个与50不同的值开始,如果这样做有意义,为什么要将初始高度设置为30,如果在加载的事件中(技术上立即)将其覆盖为50?从动画中删除
From=“50”
?不清楚你在问什么。我希望它从30到10,再到50,再到10,再到50,再到10ect@TóthTibor我不知道如何应用动画,如果我想立即持续地完成它,那么让我更清楚地说,我希望它从30的高度开始,动画到10。立即设置为50,然后设置为10,然后立即设置为50并重复。它将只在30一次,但我需要它特别开始在一个不同的值为50,如果这是有意义的