내보내기(0) 인쇄
모두 확장
확장 최소화
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

방법: Storyboard를 사용하지 않고 속성에 애니메이션 효과 주기

이 예제에서는 Storyboard를 사용하지 않고 속성에 애니메이션 효과를 적용하는 한 가지 방법을 보여 줍니다.

참고참고

Extensible Application Markup Language (XAML)에서는 이 기능을 사용할 수 없습니다. XAML에서 속성에 애니메이션 효과를 주는 방법에 대한 자세한 내용은 방법: Storyboard를 사용하여 속성에 애니메이션 효과 주기를 참조하십시오.

속성에 로컬 애니메이션을 적용하려면 BeginAnimation 메서드를 사용합니다. 이 메서드에는 애니메이션 효과를 줄 속성과 해당 속성에 적용할 애니메이션을 지정하는 두 개의 매개 변수 DependencyProperty를 사용합니다.

다음 예제에서는 Button의 너비와 배경색에 애니메이션 효과를 주는 방법을 보여 줍니다.


/*

   This sample demonstrates how to apply non-storyboard animations to a property.
   To animate in markup, you must use storyboards.

*/

using System;
using System.Windows;
using System.Windows.Navigation;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Controls;

namespace Microsoft.Samples.Animation.LocalAnimations
{

    // Create the demonstration.
    public class LocalAnimationExample : Page 
    {




        public LocalAnimationExample()
        {


            WindowTitle = "Local Animation Example";
            StackPanel myStackPanel = new StackPanel();
            myStackPanel.Margin = new Thickness(20);                     


            // Create and set the Button.
            Button aButton = new Button();
            aButton.Content = "A Button";

            // Animate the Button's Width.
            DoubleAnimation myDoubleAnimation = new DoubleAnimation();
            myDoubleAnimation.From = 75;
            myDoubleAnimation.To = 300;
            myDoubleAnimation.Duration =  new Duration(TimeSpan.FromSeconds(5));
            myDoubleAnimation.AutoReverse = true;
            myDoubleAnimation.RepeatBehavior = RepeatBehavior.Forever;

            // Apply the animation to the button's Width property.
            aButton.BeginAnimation(Button.WidthProperty, myDoubleAnimation);       

            // Create and animate a Brush to set the button's Background.
            SolidColorBrush myBrush = new SolidColorBrush();
            myBrush.Color = Colors.Blue;            

            ColorAnimation myColorAnimation = new ColorAnimation();
            myColorAnimation.From = Colors.Blue;
            myColorAnimation.To = Colors.Red;
            myColorAnimation.Duration =  new Duration(TimeSpan.FromMilliseconds(7000));
            myColorAnimation.AutoReverse = true;
            myColorAnimation.RepeatBehavior = RepeatBehavior.Forever;

            // Apply the animation to the brush's Color property.
            myBrush.BeginAnimation(SolidColorBrush.ColorProperty, myColorAnimation);           
            aButton.Background = myBrush;

            // Add the Button to the panel.
            myStackPanel.Children.Add(aButton);
            this.Content = myStackPanel;
        }
    }

}


System.Windows.Media.Animation 네임스페이스에는 여러 형식의 속성에 애니메이션 효과를 주기 위한 다양한 애니메이션 클래스가 있습니다. 속성에 애니메이션 효과를 주는 방법에 대한 자세한 내용은 애니메이션 개요를 참조하십시오. 종속성 속성(이 예제에 사용되는 속성의 형식) 및 그 기능에 대한 자세한 내용은 종속성 속성 개요를 참조하십시오.

Storyboard 개체를 사용하지 않고 애니메이션 효과를 주는 다른 방법도 있습니다. 이에 대한 자세한 내용은 속성 애니메이션 기술 개요를 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft