FrameworkElement.BeginStoryboard Metoda

Definicja

Rozpoczyna sekwencję akcji zawartych w dostarczonej scenorysie.

Przeciążenia

BeginStoryboard(Storyboard)

Rozpoczyna sekwencję akcji zawartych w dostarczonej scenorysie.

BeginStoryboard(Storyboard, HandoffBehavior)

Rozpoczyna sekwencję akcji zawartych w dostarczonej 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 dostarczonej scenorysie z określonym stanem kontroli nad animacją po jej uruchomieniu.

BeginStoryboard(Storyboard)

Rozpoczyna sekwencję akcji zawartych w dostarczonej 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 element Storyboard z zasobów, a następnie uruchamia Storyboard je, gdy zdarzenie wewnętrzne jest obsługiwane przez klasę.

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 tworzy się element Storyboard lub BeginStoryboard w znacznikach, a następnie umieszczasz je jako EventTrigger zawartość w elemecie . Po wyzwoleniu przez zdarzenie animacja jest uruchamiana. Większość aspektów kontroli elementu Storyboard można rozwiązać za pomocą właściwości, które są widoczne w adiustacji.

W przypadku podpisów, które nie używają parametru , lub po określeniu isControllablefalsetego parametru zegary osi czasu skojarzone z animacją są usuwane, gdy tylko 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ł dyrektywę x:Name lub był dostępny za pomocą odwołania w kodzie.

Dotyczy

BeginStoryboard(Storyboard, HandoffBehavior)

Rozpoczyna sekwencję akcji zawartych w dostarczonej 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, która opisuje zachowanie do użycia, jeśli właściwość opisana w scenorysie jest już animowana.

Przykłady

Poniższy przykład pobiera element Storyboard z zasobów, a następnie uruchamia Storyboard je, gdy zdarzenie wewnętrzne jest obsługiwane przez klasę.

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 tworzy się element Storyboard lub BeginStoryboard w znacznikach, a następnie umieszczasz je jako EventTrigger zawartość w elemecie . Po wyzwoleniu przez zdarzenie animacja jest uruchamiana. Większość aspektów kontroli elementu Storyboard można rozwiązać za pomocą właściwości, które są widoczne w adiustacji.

W przypadku podpisów, które nie używają parametru , lub po określeniu isControllablefalsetego parametru zegary osi czasu skojarzone z animacją są usuwane, gdy tylko 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ł dyrektywę x:Name lub był dostępny za pomocą odwołania w kodzie.

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

Korzystanie z Compose HandoffBehavior

W przypadku zastosowania Storyboardwłaściwości , AnimationTimelinelub AnimationClock przy użyciu ComposeHandoffBehavior, wszystkie Clock obiekty wcześniej skojarzone 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 polecenia 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 dotyczący animacji na obiektach, które mają długi okres istnienia. Gdy obiekt jest odśmiecany, jego zegary są również odłączone 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 dostarczonej 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, która opisuje 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 tworzy się element Storyboard lub BeginStoryboard w znacznikach, a następnie umieszczasz je jako EventTrigger zawartość w elemecie . Po wyzwoleniu przez zdarzenie animacja jest uruchamiana. Większość aspektów kontroli elementu Storyboard można rozwiązać za pomocą właściwości, które są widoczne w adiustacji.

W przypadku podpisów, które nie używają parametru , lub po określeniu isControllablefalsetego parametru zegary osi czasu skojarzone z animacją są usuwane, gdy tylko 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ł dyrektywę x:Name lub był dostępny za pomocą odwołania w kodzie.

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

Korzystanie z Compose HandoffBehavior

W przypadku zastosowania Storyboardwłaściwości , AnimationTimelinelub AnimationClock przy użyciu ComposeHandoffBehavior, wszystkie Clock obiekty wcześniej skojarzone 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 polecenia 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 dotyczący animacji na obiektach, które mają długi okres istnienia. Gdy obiekt jest odśmiecany, jego zegary są również odłączone i wyrzucane śmieci.

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

Dotyczy