FrameworkElement.BeginStoryboard 메서드

정의

제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

오버로드

BeginStoryboard(Storyboard)

제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

BeginStoryboard(Storyboard, HandoffBehavior)

속성에 이미 애니메이션이 적용되어 있는 경우 수행할 작업에 대해 지정된 옵션을 사용하여 제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

애니메이션이 시작된 후 제어하기 위한 지정된 상태를 사용하여 제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

BeginStoryboard(Storyboard)

제공된 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 검색한 다음 내부 이벤트가 처리될 때 를 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경우 애니메이션과 연결된 타임라인 클록은 애니메이션이 "채우기" 기간에 도달하는 즉시 제거됩니다. 따라서 한 번 실행한 후에는 애니메이션을 다시 시작할 수 없습니다. 애니메이션을 제어하려면 스토리보드에 x:Name 지시문 이 있거나 코드에서 참조로 액세스할 수 있어야 합니다.

적용 대상

BeginStoryboard(Storyboard, HandoffBehavior)

속성에 이미 애니메이션이 적용되어 있는 경우 수행할 작업에 대해 지정된 옵션을 사용하여 제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

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

시작할 Storyboard입니다.

handoffBehavior
HandoffBehavior

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경우 애니메이션과 연결된 타임라인 클록은 애니메이션이 "채우기" 기간에 도달하는 즉시 제거됩니다. 따라서 한 번 실행한 후에는 애니메이션을 다시 시작할 수 없습니다. 애니메이션을 제어하려면 스토리보드에 x:Name 지시문 이 있거나 코드에서 참조로 액세스할 수 있어야 합니다.

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

사용 하 여 Compose HandoffBehavior

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

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

이것은 주로 수명이 긴 개체에 대한 애니메이션에서 문제가 됩니다. 개체는 가비지 수집 되 면 해당 클록도 연결이 끊어집니다 및 가비지 수집 합니다.

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

적용 대상

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

애니메이션이 시작된 후 제어하기 위한 지정된 상태를 사용하여 제공된 Storyboard에 포함된 작업 시퀀스를 시작합니다.

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

시작할 Storyboard입니다.

handoffBehavior
HandoffBehavior

Storyboard에 설명되어 있는 속성에 이미 애니메이션이 적용되어 있는 경우에 사용할 동작을 설명하는 열거형의 값입니다.

isControllable
Boolean

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

설명

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

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

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

사용 하 여 Compose HandoffBehavior

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

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

이것은 주로 수명이 긴 개체에 대한 애니메이션에서 문제가 됩니다. 개체는 가비지 수집 되 면 해당 클록도 연결이 끊어집니다 및 가비지 수집 합니다.

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

적용 대상