XAML TextEffects

This code snippet shows how to use TextEffects element in XAML to apply text effects.
  • 3704

The following code snippet applies text effects on a TextBlock control using TextBlock.TextEffects.

<StackPanel Margin="40"> 

    <Border Name="TextBorder" HorizontalAlignment="Center"

      VerticalAlignment="Center" Background="{StaticResource MyWireBrushResource}">
       <TextBlock

        FontSize="60"

        Margin="50"

        Foreground="White">

        Mindcracker

       <TextBlock.TextEffects>

           <TextEffect PositionCount="1" x:Name="MyTextEffect">

            <TextEffect.Transform>

              <RotateTransform x:Name="TextEffectRotateTransform"

                Angle="0" CenterX="10" CenterY="10" />

            </TextEffect.Transform>

          </TextEffect>

        </TextBlock.TextEffects>

       <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>

    </Border>

  </StackPanel>

 

 

Ask Your Question 
 
Got a programming related question? You may want to post your question here
 

 

© 2020 DotNetHeaven. All rights reserved.