다음을 통해 공유


FrameworkElement.BeginStoryboard 메서드

정의

제공된 스토리보드에 포함된 작업 시퀀스를 시작합니다.

오버로드

BeginStoryboard(Storyboard)

제공된 스토리보드에 포함된 작업 시퀀스를 시작합니다.

BeginStoryboard(Storyboard, HandoffBehavior)

제공된 스토리보드에 포함된 작업 시퀀스를 시작하고 속성에 이미 애니메이션이 적용된 경우 발생할 작업에 대한 옵션을 지정합니다.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

애니메이션이 시작된 후 지정된 상태로 제공된 스토리보드에 포함된 동작 시퀀스를 시작합니다.

BeginStoryboard(Storyboard)

제공된 스토리보드에 포함된 작업 시퀀스를 시작합니다.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)

매개 변수

storyboard
Storyboard

시작할 스토리보드입니다.

예제

다음 예제에서는 리소스에서 Storyboard 검색한 다음 내부 이벤트가 처리될 때 해당 Storyboard 실행합니다.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

설명

대부분의 일반적인 애니메이션 시나리오에서는 이 메서드를 사용하지 않습니다. 일반적으로 태그에 Storyboard 또는 BeginStoryboard 요소를 만든 다음 요소에 EventTrigger 콘텐츠로 배치합니다. 이벤트에 의해 트리거되면 애니메이션이 실행됩니다. Storyboard 대부분의 컨트롤 측면은 태그에 노출되는 속성으로 해결할 수 있습니다.

isControllable, 매개 변수를 사용하지 않는 서명의 경우 또는 해당 매개 변수가 false지정된 경우 애니메이션과 연결된 타임라인 클록은 애니메이션이 "Fill" 기간에 도달하는 즉시 제거됩니다. 따라서 애니메이션을 한 번 실행한 후에는 다시 시작할 수 없습니다. 애니메이션을 제어하려면 스토리보드에 x:Name 지시문 있거나 코드에서 참조로 액세스할 수 있어야 합니다.

적용 대상

BeginStoryboard(Storyboard, HandoffBehavior)

제공된 스토리보드에 포함된 작업 시퀀스를 시작하고 속성에 이미 애니메이션이 적용된 경우 발생할 작업에 대한 옵션을 지정합니다.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)

매개 변수

storyboard
Storyboard

시작할 스토리보드입니다.

handoffBehavior
HandoffBehavior

스토리보드에 설명된 속성이 이미 애니메이션 효과를 준 경우 사용할 동작을 설명하는 열거형의 값입니다.

예제

다음 예제에서는 리소스에서 Storyboard 검색한 다음 내부 이벤트가 처리될 때 해당 Storyboard 실행합니다.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

설명

대부분의 일반적인 애니메이션 시나리오에서는 이 메서드를 사용하지 않습니다. 일반적으로 태그에 Storyboard 또는 BeginStoryboard 요소를 만든 다음 요소에 EventTrigger 콘텐츠로 배치합니다. 이벤트에 의해 트리거되면 애니메이션이 실행됩니다. Storyboard 대부분의 컨트롤 측면은 태그에 노출되는 속성으로 해결할 수 있습니다.

isControllable, 매개 변수를 사용하지 않는 서명의 경우 또는 해당 매개 변수가 false지정된 경우 애니메이션과 연결된 타임라인 클록은 애니메이션이 "Fill" 기간에 도달하는 즉시 제거됩니다. 따라서 애니메이션을 한 번 실행한 후에는 다시 시작할 수 없습니다. 애니메이션을 제어하려면 스토리보드에 x:Name 지시문 있거나 코드에서 참조로 액세스할 수 있어야 합니다.

핸드오프 동작은 BeginStoryboard특성으로 지정할 수 있습니다.

Compose HandoffBehavior 사용

Compose HandoffBehavior사용하여 속성에 Storyboard, AnimationTimeline또는 AnimationClock 적용하면 이전에 해당 속성과 연결된 모든 Clock 개체는 시스템 리소스를 계속 사용합니다. 타이밍 시스템은 시계를 자동으로 제거하지 않습니다.

Compose사용하여 많은 수의 클록을 적용할 때 성능 문제를 방지하려면 완료된 후 애니메이션 속성에서 작성 클록을 제거해야 합니다. 클록을 제거하는 방법에는 여러 가지가 있습니다.

이는 주로 수명이 긴 개체의 애니메이션에 대한 문제입니다. 개체가 가비지 수집되면 시계의 연결이 끊어지고 가비지도 수집됩니다.

시계 개체에 대한 자세한 내용은 애니메이션 및 타이밍 시스템 개요참조하세요.

적용 대상

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

애니메이션이 시작된 후 지정된 상태로 제공된 스토리보드에 포함된 동작 시퀀스를 시작합니다.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)

매개 변수

storyboard
Storyboard

시작할 스토리보드입니다.

handoffBehavior
HandoffBehavior

스토리보드에 설명된 속성이 이미 애니메이션 효과를 준 경우 사용할 동작을 설명하는 열거형의 값입니다.

isControllable
Boolean

애니메이션이 시작된 후 애니메이션을 제어할 수 있는지(일시 중지할 수 있는지) 선언합니다.

설명

대부분의 일반적인 애니메이션 시나리오에서는 이 메서드를 사용하지 않습니다. 일반적으로 태그에 Storyboard 또는 BeginStoryboard 요소를 만든 다음 요소에 EventTrigger 콘텐츠로 배치합니다. 이벤트에 의해 트리거되면 애니메이션이 실행됩니다. Storyboard 대부분의 컨트롤 측면은 태그에 노출되는 속성으로 해결할 수 있습니다.

isControllable, 매개 변수를 사용하지 않는 서명의 경우 또는 해당 매개 변수가 false지정된 경우 애니메이션과 연결된 타임라인 클록은 애니메이션이 "Fill" 기간에 도달하는 즉시 제거됩니다. 따라서 애니메이션을 한 번 실행한 후에는 다시 시작할 수 없습니다. 애니메이션을 제어하려면 스토리보드에 x:Name 지시문 있거나 코드에서 참조로 액세스할 수 있어야 합니다.

핸드오프 동작은 BeginStoryboard특성으로 지정할 수 있습니다.

Compose HandoffBehavior 사용

Compose HandoffBehavior사용하여 속성에 Storyboard, AnimationTimeline또는 AnimationClock 적용하면 이전에 해당 속성과 연결된 모든 Clock 개체는 시스템 리소스를 계속 사용합니다. 타이밍 시스템은 시계를 자동으로 제거하지 않습니다.

Compose사용하여 많은 수의 클록을 적용할 때 성능 문제를 방지하려면 완료된 후 애니메이션 속성에서 작성 클록을 제거해야 합니다. 클록을 제거하는 방법에는 여러 가지가 있습니다.

이는 주로 수명이 긴 개체의 애니메이션에 대한 문제입니다. 개체가 가비지 수집되면 시계의 연결이 끊어지고 가비지도 수집됩니다.

시계 개체에 대한 자세한 내용은 애니메이션 및 타이밍 시스템 개요참조하세요.

적용 대상