정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

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

애니메이션은 응용 프로그램에서 텍스트의 표시 및 모양을 변경할 수 있습니다. 다음 예제에서는 다양한 애니메이션 형식을 사용하여 TextBlock 컨트롤에서의 텍스트 표시 방식에 영향을 줍니다.

다음 예제에서는 DoubleAnimation을 사용하여 텍스트 블록의 너비에 애니메이션 효과를 줍니다. 너비 값이 10초의 지속 시간 동안 텍스트 블록의 너비에서 0으로 변경된 다음 너비 값을 반대로 바꾸고 계속됩니다. 이 애니메이션의 형식은 닦아내기 효과를 만듭니다.


<TextBlock
  Name="MyWipedText"
  Margin="20" 
  Width="480" Height="100" FontSize="48" FontWeight="Bold" Foreground="Maroon">
  This is wiped text

  <!-- Animates the text block's width. -->
  <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation
            Storyboard.TargetName="MyWipedText" 
            Storyboard.TargetProperty="(TextBlock.Width)"
            To="0.0" Duration="0:0:10" 
            AutoReverse="True" RepeatBehavior="Forever" />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </TextBlock.Triggers>
</TextBlock>


다음 예제에서는 DoubleAnimation을 사용하여 텍스트 블록의 불투명도에 애니메이션 효과를 줍니다. 불투명도 값이 5초의 지속 시간 동안 1.0에서 0으로 변경된 다음 불투명도 값을 반대로 바꾸고 계속됩니다.


<TextBlock
  Name="MyFadingText"
  Margin="20" 
  Width="640" Height="100" FontSize="48" FontWeight="Bold" Foreground="Maroon">
  This is fading text

  <!-- Animates the text block's opacity. -->
  <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation
            Storyboard.TargetName="MyFadingText" 
            Storyboard.TargetProperty="(TextBlock.Opacity)"
            From="1.0" To="0.0" Duration="0:0:5" 
            AutoReverse="True" RepeatBehavior="Forever" />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </TextBlock.Triggers>
</TextBlock>


다음 다이어그램에서는 Duration에서 정의한 5초의 지속 시간 동안 불투명도를 1.00에서 0.00으로 변경하는 TextBlock 컨트롤의 효과를 보여 줍니다.

불투명도가 1.00에서 0.00으로 바뀌는 텍스트

불투명도가 1.00에서 0.00으로 바뀌는 텍스트

다음 예제에서는 ColorAnimation을 사용하여 텍스트 블록의 전경색에 애니메이션 효과를 줍니다. 전경색 값이 5초의 지속 시간 동안 한 색에서 두 번째 색으로 변경된 다음 색 값을 반대로 바꾸고 계속됩니다.


<TextBlock
  Name="MyChangingColorText"
  Margin="20" 
  Width="640" Height="100" FontSize="48" FontWeight="Bold">
  This is changing color text
  <TextBlock.Foreground>
    <SolidColorBrush x:Name="MySolidColorBrush" Color="Maroon" />
  </TextBlock.Foreground>

  <!-- Animates the text block's color. -->
  <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <ColorAnimation 
            Storyboard.TargetName="MySolidColorBrush"
            Storyboard.TargetProperty="Color"
            From="DarkOrange" To="SteelBlue" Duration="0:0:5"
            AutoReverse="True" RepeatBehavior="Forever" />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </TextBlock.Triggers>
</TextBlock>


다음 예제에서는 DoubleAnimation을 사용하여 텍스트 블록을 회전합니다. 텍스트 블록은 20초의 지속 시간 동안 전체 회전을 수행한 다음 회전 반복을 계속합니다.


<TextBlock
  Name="MyRotatingText"
  Margin="20" 
  Width="640" Height="100" FontSize="48" FontWeight="Bold" Foreground="Teal" 
  >
  This is rotating text
  <TextBlock.RenderTransform>
    <RotateTransform x:Name="MyRotateTransform" Angle="0" CenterX="230" CenterY="25"/>
  </TextBlock.RenderTransform>

  <!-- Animates the text block's rotation. -->
  <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation
            Storyboard.TargetName="MyRotateTransform" 
            Storyboard.TargetProperty="(RotateTransform.Angle)"
            From="0.0" To="360" Duration="0:0:10" 
            RepeatBehavior="Forever" />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </TextBlock.Triggers>
</TextBlock>


커뮤니티 추가 항목

표시:
© 2014 Microsoft