Como: Criar um efeito de texto
A TextEffect object is a helper object that allows you to treat text as one or more groups of characters in a text string. O exemplo a seguir mostra um caractere individual seja girado. Each character is rotated independently at 1-second intervals.
Example of a rotating text effect animation
Exemplo
In the following code example, a TextEffect is defined for a TextBlock object. In this case, the desired animation effect is a RotateTransform that will be applied to each character in the Text property.
<TextBlock.TextEffects>
<!-- The TextEffect to animate. -->
<TextEffect PositionCount="1" x:Name="MyTextEffect">
<TextEffect.Transform>
<RotateTransform x:Name="TextEffectRotateTransform"
Angle="0" CenterX="10" CenterY="10" />
</TextEffect.Transform>
</TextEffect>
</TextBlock.TextEffects>
Observação
If you want to rotate the entire text string as a single unit, apply the RotateTransform to the RenderTransform property for the TextBlock.For more information, see Como: Apply Animations to Text.
The following code example shows the animations that are defined for the Angle and CenterX properties. A seqüência de animação é controlada pela definição de um Int32AnimationUsingKeyFrames objeto e fazer referência a TextEffect pela configuração TargetName e TargetProperty. The PositionStart property changes from 0 to 12 during the animation sequence, corresponding to the 13-character text string.
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ParallelTimeline RepeatBehavior="Forever">
<!-- Animates the angle of the RotateTransform
applied to the TextEffect. -->
<DoubleAnimation
Storyboard.TargetName="TextEffectRotateTransform"
Storyboard.TargetProperty="Angle"
From="0"
To="360"
Duration="00:00:0.75"
BeginTime="0:0:0.25" />
</ParallelTimeline>
<!-- Animates the horizontal center of the RotateTransform
applied to the TextEffect. -->
<DoubleAnimation
From="30"
To="370"
Duration="00:00:13"
RepeatBehavior="Forever"
AutoReverse="True"
Storyboard.TargetName="TextEffectRotateTransform"
Storyboard.TargetProperty="CenterX" />
<!-- Animates the position of the TextEffect. -->
<Int32AnimationUsingKeyFrames
Storyboard.TargetName="MyTextEffect"
Storyboard.TargetProperty="PositionStart"
Duration="0:0:13"
AutoReverse="True"
RepeatBehavior="Forever">
<Int32AnimationUsingKeyFrames.KeyFrames>
<DiscreteInt32KeyFrame Value="0" KeyTime="0:0:0" />
<DiscreteInt32KeyFrame Value="1" KeyTime="0:0:1" />
<DiscreteInt32KeyFrame Value="2" KeyTime="0:0:2" />
<DiscreteInt32KeyFrame Value="3" KeyTime="0:0:3" />
<DiscreteInt32KeyFrame Value="4" KeyTime="0:0:4" />
<DiscreteInt32KeyFrame Value="5" KeyTime="0:0:5" />
<DiscreteInt32KeyFrame Value="6" KeyTime="0:0:6" />
<DiscreteInt32KeyFrame Value="7" KeyTime="0:0:7" />
<DiscreteInt32KeyFrame Value="8" KeyTime="0:0:8" />
<DiscreteInt32KeyFrame Value="9" KeyTime="0:0:9" />
<DiscreteInt32KeyFrame Value="10" KeyTime="0:0:10" />
<DiscreteInt32KeyFrame Value="11" KeyTime="0:0:11" />
<DiscreteInt32KeyFrame Value="12" KeyTime="0:0:12" />
</Int32AnimationUsingKeyFrames.KeyFrames>
</Int32AnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>