다음을 통해 공유


방법: From, To 및 By를 사용하여 애니메이션 제어

"From/To/By" 또는 "기본 애니메이션"은 두 개의 대상 값 사이에 전환을 만듭니다(다양한 유형의 애니메이션 소개를 보려면 애니메이션 개요 참조). 기본 애니메이션의 대상 값을 설정하려면 해당 From, ToBy 속성을 사용합니다. 다음 표에서 요약 하는 방법을 From, To, 및 By 속성을 함께 사용할 수 있습니다. 또는 개별적으로 애니메이션의 대상 값을 확인 하 합니다.

지정된 속성 결과 동작
From 지정 된 값은 애니메이션이 적용 된 From 애니메이션 효과 줄 속성의 기준 값 또는 이전 애니메이션 속성의 이전 애니메이션이 구성 된 방식에 따라 값을 출력 합니다.
FromTo 지정 된 값은 애니메이션이 적용 된 From 속성에 지정 된 값을는 To 속성.
FromTo 지정 된 값은 애니메이션이 적용 된 From 속성의 합으로 지정 된 값을는 FromBy 속성.
To 속성의 기준 값에서 진행 되는 애니메이션 또는 이전 애니메이션의 값에 지정 된 값을 출력 합니다 To 속성입니다.
By 애니메이션이 적용 되는 속성의 기준 값 이나 이전 애니메이션의 출력 값을 해당 값 및 지정 된 값의 합계는 By 속성입니다.

참고

To 속성 및 By 속성을 동일한 애니메이션에서 설정하지 마세요.

다른 보간 방법을 사용하거나 둘 이상의 대상 값 사이에 애니메이션 효과를 주려면 키 프레임 애니메이션을 사용합니다. 자세한 내용은 키 프레임 애니메이션 개요를 참조하세요.

단일 속성에 여러 애니메이션을 적용 하는 방법에 대 한 내용은 키 프레임 애니메이션 개요합니다.

아래 예제에서는 애니메이션에서 To, ByFrom 속성 설정의 다양한 효과를 보여 줍니다.

예제

<!-- This example shows the different effects of setting
   To, By, and From properties on animations.  -->
<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <StackPanel Margin="20">

    <!-- Demonstrates the From and To properties used together. -->
    <Rectangle Name="fromToAnimatedRectangle" Height="10" Width="100" 
      HorizontalAlignment="Left" Margin="10" Fill="#99FF9900" />

    <!-- Demonstrates the use of the To property. -->
    <Rectangle Name="toAnimatedRectangle" Height="10" Width="100" 
      HorizontalAlignment="Left" Margin="10" Fill="#99FF9900" />

    <!-- Demonstrates the use of the By property. -->
    <Rectangle Name="byAnimatedRectangle" Height="10" Width="100" 
      HorizontalAlignment="Left" Margin="10" Fill="#99FF9900" />

    <!-- Demonstrates the use of the From and By properties. -->
    <Rectangle Name="fromByAnimatedRectangle" Height="10" Width="100" 
      HorizontalAlignment="Left" Margin="10" Fill="#99FF9900" />

    <!-- Demonstrates the use of the From property. -->
    <Rectangle Name="fromAnimatedRectangle" Height="10" Width="100" 
      HorizontalAlignment="Left" Margin="10" Fill="#99FF9900" />
    <Button>
      Start Animations
      <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
          <BeginStoryboard>
            <Storyboard FillBehavior="Stop">

              <!-- Demonstrates the From and To properties used together.
                 Animates the rectangle's Width property from 50 to 300 over 10 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="fromToAnimatedRectangle" 
                Storyboard.TargetProperty="(Rectangle.Width)"
                From="50" To="300" Duration="0:0:10" />

              <!-- Demonstrates the To property used by itself.
                 Animates the Rectangle's Width property from its base value
                 (100) to 300 over 10 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="toAnimatedRectangle" Storyboard.TargetProperty="(Rectangle.Width)"
                To="300" Duration="0:0:10" />

              <!-- Demonstrates the By property used by itself.
                 Increments the Rectangle's Width property by 300 over 10 seconds.
                 As a result, the Width property is animated from its base value
                 (100) to 400 (100 + 300) over 10 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="byAnimatedRectangle" Storyboard.TargetProperty="(Rectangle.Width)" 
                By="300" Duration="0:0:10" />

              <!-- Demonstrates the From and By properties used together.
                 Increments the Rectangle's Width property by 300 over 10 seconds.
                 As a result, the Width property is animated from 50
                 to 350 (50 + 300) over 10 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="fromByAnimatedRectangle" Storyboard.TargetProperty="(Rectangle.Width)" 
                From="50" By="300" Duration="0:0:10"  />

              <!-- Demonstrates the From property used by itself.
                 Animates the rectangle's Width property from 50 to its base value (100)
                 over 10 seconds. -->
              <DoubleAnimation 
                Storyboard.TargetName="fromAnimatedRectangle" Storyboard.TargetProperty="(Rectangle.Width)"
                From="50" Duration="0:0:10"  />
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Button.Triggers>
    </Button>
  </StackPanel>
</Page>

참고 항목