Udostępnij za pośrednictwem


FrameworkElement.BeginStoryboard Metoda

Definicja

Rozpoczyna sekwencję akcji zawartych w dostarczonej scenorysie.

Przeciążenia

BeginStoryboard(Storyboard)

Rozpoczyna sekwencję akcji zawartych w podanym scenorysie.

BeginStoryboard(Storyboard, HandoffBehavior)

Rozpoczyna sekwencję akcji zawartych w podanym scenorysie z opcjami określonymi dla tego, co powinno się zdarzyć, jeśli właściwość jest już animowana.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Rozpoczyna sekwencję akcji zawartych w udostępnionym scenorysie z określonym stanem kontroli nad animacją po jej uruchomieniu.

BeginStoryboard(Storyboard)

Rozpoczyna sekwencję akcji zawartych w podanym scenorysie.

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)

Parametry

storyboard
Storyboard

Scenorys do rozpoczęcia.

Przykłady

Poniższy przykład pobiera Storyboard z zasobów, a następnie uruchamia Storyboard, gdy obsłużone jest zdarzenie wewnętrzne.

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

Uwagi

Większość typowych scenariuszy animacji nie używa tej metody. Zazwyczaj należy utworzyć element Storyboard lub BeginStoryboard w adiustacji, a następnie umieścić je jako zawartość EventTrigger elementu. Po wyzwoleniu przez zdarzenie animacja zostanie uruchomiona. Większość aspektów kontroli Storyboard można rozwiązać za pomocą właściwości uwidocznionych w adiustacji.

W przypadku podpisów, które nie używają isControllable, parametru lub gdy ten parametr jest określony false, zegary osi czasu skojarzone z animacją są usuwane, gdy animacja osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Kontrolowanie animacji wymaga również, aby scenorys miał dyrektywy x:Name lub być dostępny za pomocą odwołania w kodzie.

Dotyczy

BeginStoryboard(Storyboard, HandoffBehavior)

Rozpoczyna sekwencję akcji zawartych w podanym scenorysie z opcjami określonymi dla tego, co powinno się zdarzyć, jeśli właściwość jest już animowana.

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)

Parametry

storyboard
Storyboard

Scenorys do rozpoczęcia.

handoffBehavior
HandoffBehavior

Wartość wyliczenia opisującego zachowanie do użycia, jeśli właściwość opisana w scenorysie jest już animowana.

Przykłady

Poniższy przykład pobiera Storyboard z zasobów, a następnie uruchamia Storyboard, gdy obsłużone jest zdarzenie wewnętrzne.

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

Uwagi

Większość typowych scenariuszy animacji nie używa tej metody. Zazwyczaj należy utworzyć element Storyboard lub BeginStoryboard w adiustacji, a następnie umieścić je jako zawartość EventTrigger elementu. Po wyzwoleniu przez zdarzenie animacja zostanie uruchomiona. Większość aspektów kontroli Storyboard można rozwiązać za pomocą właściwości uwidocznionych w adiustacji.

W przypadku podpisów, które nie używają isControllable, parametru lub gdy ten parametr jest określony false, zegary osi czasu skojarzone z animacją są usuwane, gdy animacja osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Kontrolowanie animacji wymaga również, aby scenorys miał dyrektywy x:Name lub być dostępny za pomocą odwołania w kodzie.

Zachowanie przekazywania można określić jako atrybut BeginStoryboard.

Korzystanie z narzędzia Compose HandoffBehavior

W przypadku zastosowania Storyboard, AnimationTimelinelub AnimationClock do właściwości przy użyciu ComposeHandoffBehaviorwszystkie obiekty Clock skojarzone wcześniej z tą właściwością nadal zużywają zasoby systemowe; system chronometrażu nie usuwa zegarów automatycznie.

Aby uniknąć problemów z wydajnością podczas stosowania dużej liczby zegarów przy użyciu Compose, należy usunąć tworzenie zegarów z animowanej właściwości po zakończeniu. Istnieje kilka sposobów usunięcia zegara:

Jest to przede wszystkim problem z animacjami obiektów, które mają długi okres istnienia. Gdy obiekt jest wyrzucany, jego zegary są również odłączane i wyrzucane śmieci.

Aby uzyskać więcej informacji na temat obiektów zegara, zobacz Animacja i System chronometrażu — omówienie.

Dotyczy

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Rozpoczyna sekwencję akcji zawartych w udostępnionym scenorysie z określonym stanem kontroli nad animacją po jej uruchomieniu.

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)

Parametry

storyboard
Storyboard

Scenorys do rozpoczęcia.

handoffBehavior
HandoffBehavior

Wartość wyliczenia opisującego zachowanie do użycia, jeśli właściwość opisana w scenorysie jest już animowana.

isControllable
Boolean

Deklaruje, czy animacja można kontrolować (można ją wstrzymać) po jej uruchomieniu.

Uwagi

Większość typowych scenariuszy animacji nie używa tej metody. Zazwyczaj należy utworzyć element Storyboard lub BeginStoryboard w adiustacji, a następnie umieścić je jako zawartość EventTrigger elementu. Po wyzwoleniu przez zdarzenie animacja zostanie uruchomiona. Większość aspektów kontroli Storyboard można rozwiązać za pomocą właściwości uwidocznionych w adiustacji.

W przypadku podpisów, które nie używają isControllable, parametru lub gdy ten parametr jest określony false, zegary osi czasu skojarzone z animacją są usuwane, gdy animacja osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Kontrolowanie animacji wymaga również, aby scenorys miał dyrektywy x:Name lub być dostępny za pomocą odwołania w kodzie.

Zachowanie przekazywania można określić jako atrybut BeginStoryboard.

Korzystanie z narzędzia Compose HandoffBehavior

W przypadku zastosowania Storyboard, AnimationTimelinelub AnimationClock do właściwości przy użyciu ComposeHandoffBehaviorwszystkie obiekty Clock skojarzone wcześniej z tą właściwością nadal zużywają zasoby systemowe; system chronometrażu nie usuwa zegarów automatycznie.

Aby uniknąć problemów z wydajnością podczas stosowania dużej liczby zegarów przy użyciu Compose, należy usunąć tworzenie zegarów z animowanej właściwości po zakończeniu. Istnieje kilka sposobów usunięcia zegara:

Jest to przede wszystkim problem z animacjami obiektów, które mają długi okres istnienia. Gdy obiekt jest wyrzucany, jego zegary są również odłączane i wyrzucane śmieci.

Aby uzyskać więcej informacji na temat obiektów zegara, zobacz Animacja i System chronometrażu — omówienie.

Dotyczy