다음을 통해 공유


방법: 텍스트 효과 만들기

업데이트: 2007년 11월

TextEffect 개체는 텍스트 문자열에서 하나 이상의 문자 그룹으로 텍스트를 처리할 수 있게 하는 도우미 개체입니다. TextEffect 샘플에서 발췌한 다음 예제는 회전되는 문자를 보여 줍니다. 각 문자는 1초 간격으로 회전됩니다.

회전 텍스트 효과 애니메이션의 예

텍스트 효과 회전 텍스트의 스크린 샷

예제

다음 코드 예제에서는 TextEffectTextBlock 개체에 대해 정의됩니다. 이 경우 원하는 애니메이션 효과는 Text 속성의 각 문자에 적용될 RotateTransform입니다.

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

참고

전체 텍스트 문자열을 하나의 단위로 회전시키려면 RotateTransformTextBlockRenderTransform 속성에 적용합니다. 자세한 내용은 방법: 텍스트에 애니메이션 적용을 참조하십시오.

다음 코드 예제에서는 AngleCenterX 속성에 대해 정의한 애니메이션을 보여 줍니다. 애니메이션 시퀀스는 Int32AnimationUsingKeyFrames 개체를 정의하고 TargetNameTargetProperty 설정을 통해 TextEffect를 참조하여 제어됩니다. PositionStart 속성은 애니메이션 시퀀스 중에 13개의 문자 텍스트 문자열에 해당하는 0에서 12 사이로 변경됩니다.

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

참고 항목

작업

TextEffect 샘플

방법: 텍스트에 애니메이션 적용