2011-03-15 60 views
0

我的应用程序中有一个状态栏,其内容为TextBlock。当我的应用程序正在运行时,我希望文本块文本显示Processing...,但点数正在增加和减少。这可能吗?动画WPF中的TextBlock文本

注:我不想使用进度

+0

对您有帮助吗? http://stackoverflow.com/questions/4205502/wpf-not-updating-textbox-while-in-progress – abramlimpin 2011-03-15 08:07:40

回答

4

您可以使用一个字符串的动画,就像这样:

<Storyboard x:Key="StringAnimationStoryboard"> 
    <StringAnimationUsingKeyFrames AutoReverse="True" Storyboard.TargetProperty="Text" RepeatBehavior="Forever"> 
    <DiscreteStringKeyFrame Value="Processing" KeyTime="0:0:0.1" /> 
    <DiscreteStringKeyFrame Value="Processing." KeyTime="0:0:0.2" /> 
    <DiscreteStringKeyFrame Value="Processing.." KeyTime="0:0:0.3" /> 
    <DiscreteStringKeyFrame Value="Processing..." KeyTime="0:0:0.4" /> 
    <DiscreteStringKeyFrame Value="Processing...." KeyTime="0:0:0.5" /> 
    <DiscreteStringKeyFrame Value="Processing....." KeyTime="0:0:0.6" /> 
    </StringAnimationUsingKeyFrames> 
</Storyboard> 
<Style TargetType="TextBlock" x:Key="StringAnimationStyle"> 
    <Style.Triggers> 
    <EventTrigger Event="TextBlock.Loaded" > 
     <BeginStoryboard Storyboard="{StaticResource StringAnimationStoryboard}" /> 
    </EventTrigger> 
    </Style.Triggers> 
</Style> 

要知道,虽然,如果你是在主应用程序做处理器密集型计算线程,动画可能无法运行...