2011-03-15 64 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> 

要知道,雖然,如果你是在主應用程序做處理器密集型計算線程,動畫可能無法運行...