When I use Storyboard to zoom in TextBlock it pixelates while zooming and rerenders only on complete.
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="TextBlock" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)">
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1.5"/>
Is there a way the TextBlock is rerendered each frame?
I found a solution though it's not about TextBlock anymore but for me it worked:
Just have to make this text of max scale size.
It seems that this is by design - see this answer by Jerry Nixon on a very similar question.
Apparently this is to ensure the animation is smooth, because rendering the font fully at each frame would be expensive.
The only way you could probably overcome this is to wrap the
TextBlock
inside aViewbox
element and scale theViewbox
'sHeight
property. This will however not work automatically and you also have to addEnableDependentAnimation="True"
to theDoubleAnimationUsingKeyFrames
element. Unfortunatelly you will see that this approach also causes layout updates on each frame and is therefore very jarring.