You could use a couple of storyboards. In a timer dispatch the storyboard, change the test and then run the next storyboard.
<Storyboard x:Key="Storyboard1" x:Name="sb1">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="textBox1">
<EasingColorKeyFrame KeyTime="0:0:0.5" Value="White"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2" x:Name="sb2">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="textBox1">
<EasingColorKeyFrame KeyTime="0" Value="White"/>
<EasingColorKeyFrame KeyTime="0:0:0.5" Value="Black"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>