1

我想使用StringAnimationUsingKeyFrames和动画文本框的文本DiscreteStringKeyFrame

<TextBlock x:Name="txtStateRunning" HorizontalAlignment="Center" VerticalAlignment="Center">
   <TextBlock.Triggers>
         <EventTrigger RoutedEvent="TextBlock.Loaded">
             <BeginStoryboard>
                 <Storyboard x:Name="textAnimation">
                     <StringAnimationUsingKeyFrames Storyboard.TargetName="txtStateRunning" 
                                                           Storyboard.TargetProperty="Text" RepeatBehavior="Forever" AutoReverse="False" >
                         <DiscreteStringKeyFrame Value="Running ."   KeyTime="0:0:0" />
                         <DiscreteStringKeyFrame Value="Running .."  KeyTime="0:0:0.5" />
                         <DiscreteStringKeyFrame Value="Running ..." KeyTime="0:0:1" />
                         <DiscreteStringKeyFrame Value="Running ...." KeyTime="0:0:1.5" />
                     </StringAnimationUsingKeyFrames>
                 </Storyboard>
             </BeginStoryboard>
            </EventTrigger>
        </TextBlock.Triggers>
    </TextBlock>

在代码中我有 4 *DiscreteStringKeyFrame但实际上我只看到 3 * 正在运行。DiscreteStringKeyFrameat time 1.5 未执行。我错过了什么?

4

1 回答 1

3

这是因为您的最后一帧开始显示并立即被第一帧替换。

您可以通过在最后添加一个 DiscreteStringKeyFrame 来修复它:

<DiscreteStringKeyFrame Value="" KeyTime="0:0:2" />

或者通过设置DurationStringAnimationUsingKeyFrames:

<StringAnimationUsingKeyFrames Duration="0:0:2" ...
于 2012-08-27T07:46:28.570 回答