我的应用程序中有一个状态栏,其内容为TextBlock
。当我的应用程序运行时,我希望文本块文本显示Processing...
,但点数增加和减少。这可能吗?
注意:我不想使用进度条
答案 0 :(得分:4)
您可以使用String动画,如下所示:
<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>
请注意,如果您在主应用程序线程中进行处理器密集型计算,则动画可能无法运行...