用于天文台的wpf故事板

时间:2015-09-10 06:16:20

标签: wpf

我有一个显示从60到1的第二个文本块,它的前景是从绿色到红色的动画: 我的xaml就像轰鸣声,工作正常:

<TextBlock x:Name="timer_check_version" Text="60" HorizontalAlignment="Center" FontSize="18">
                    <TextBlock.Foreground>
                        <SolidColorBrush x:Name="tbBrush" Color="#1e7145"/>
                    </TextBlock.Foreground>
                    <TextBlock.Style>
                        <Style TargetType="TextBlock">
                            <Style.Triggers>
                                <Trigger Property="Visibility" Value="Visible">
                                    <Trigger.EnterActions>
                                        <BeginStoryboard Storyboard="{StaticResource ChronometerStoryboard}"/>
                                    </Trigger.EnterActions>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </TextBlock.Style>
                </TextBlock>

和我的ChronometerStoryboard是:

 <Storyboard x:Key="ChronometerStoryboard">
        <ColorAnimation To="#b91d47" From="#1e7145"
                  Duration="0:0:59"
                  Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"/>
        <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)">
            <DiscreteStringKeyFrame KeyTime="0:0:1" Value="59"/>
            <DiscreteStringKeyFrame KeyTime="0:0:2" Value="58"/>
            <DiscreteStringKeyFrame KeyTime="0:0:3" Value="57"/>
            <DiscreteStringKeyFrame KeyTime="0:0:4" Value="56"/>
            <DiscreteStringKeyFrame KeyTime="0:0:5" Value="55"/>
            <DiscreteStringKeyFrame KeyTime="0:0:6" Value="54"/>
            <DiscreteStringKeyFrame KeyTime="0:0:7" Value="53"/>
            <DiscreteStringKeyFrame KeyTime="0:0:8" Value="52"/>
            <DiscreteStringKeyFrame KeyTime="0:0:9" Value="51"/>
            <DiscreteStringKeyFrame KeyTime="0:0:10" Value="50"/>

           ......
           ......
           ......
           ......


            <DiscreteStringKeyFrame KeyTime="0:0:51" Value="09"/>
            <DiscreteStringKeyFrame KeyTime="0:0:52" Value="08"/>
            <DiscreteStringKeyFrame KeyTime="0:0:53" Value="07"/>
            <DiscreteStringKeyFrame KeyTime="0:0:54" Value="06"/>
            <DiscreteStringKeyFrame KeyTime="0:0:55" Value="05"/>
            <DiscreteStringKeyFrame KeyTime="0:0:56" Value="04"/>
            <DiscreteStringKeyFrame KeyTime="0:0:57" Value="03"/>
            <DiscreteStringKeyFrame KeyTime="0:0:58" Value="02"/>
            <DiscreteStringKeyFrame KeyTime="0:0:59" Value="01"/>
        </StringAnimationUsingKeyFrames>
    </Storyboard>

上面示例的目标是向用户显示一条消息60秒,TextBlock从60倒数到1,60秒后消息和计时器应该是不可见的,并且在一段时间后根据后台线程显示消息和计时器(从60倒数到1的TextBlock)应重复,这可能会重复一段时间,所有事情都可以正常工作,但首先计时器变为1,我的消息和计时器崩溃了一段时间(根据背景线程)并且当后台线程完成时我想再次重复显示消息和定时器60秒,但我的问题是定时器值等于1而定时器前景等于红色而没有动画。

0 个答案:

没有答案