FrameworkContentElement.BeginStoryboard Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna sekwencję akcji zawartych w podanym 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 wystąpić, 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.
Uwagi
Dla podpisów, które nie używają isControllable
, parametru lub gdy ten parametr jest określony false
, zegary osi czasu skojarzone z animacją zostaną usunięte, gdy tylko osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Należy pamiętać, że kontrolowanie animacji wymaga również, aby scenorys miał nazwę lub był dostępny jako wystąpienie w kodzie.
Dotyczy
BeginStoryboard(Storyboard, HandoffBehavior)
Rozpoczyna sekwencję akcji zawartych w podanym scenorysie z opcjami określonymi dla tego, co powinno wystąpić, 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.
Uwagi
Dla podpisów, które nie używają isControllable
, parametru lub gdy ten parametr jest określony false
, zegary osi czasu skojarzone z animacją zostaną usunięte, gdy tylko osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Należy pamiętać, że kontrolowanie animacji wymaga również, aby scenorys miał nazwę lub był dostępny jako wystąpienie w kodzie.
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:
Aby usunąć wszystkie zegary z właściwości, użyj metody ApplyAnimationClock(DependencyProperty, AnimationClock) lub BeginAnimation(DependencyProperty, AnimationTimeline) animowanego obiektu. Określ właściwość, która jest animowana jako pierwszy parametr, a
null
jako drugą. Spowoduje to usunięcie wszystkich zegarów animacji z właściwości .Aby usunąć określone AnimationClock z listy zegarów, użyj właściwości ControllerAnimationClock, aby pobrać ClockController, a następnie wywołaj metodę RemoveClockController. Zazwyczaj odbywa się to w programie obsługi zdarzeń Completed zegara. Należy pamiętać, że tylko zegary główne mogą być kontrolowane przez ClockController; właściwość Controller zegara podrzędnego zwraca wartość
null
. Należy również pamiętać, że zdarzenie Completed nie jest wywoływane, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik musi określić, kiedy wywołać Remove.
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
Dla podpisów, które nie używają isControllable
, parametru lub gdy ten parametr jest określony false
, zegary osi czasu skojarzone z animacją zostaną usunięte, gdy tylko osiągnie okres "Wypełnienie". W związku z tym nie można ponownie uruchomić animacji po uruchomieniu raz. Należy pamiętać, że kontrolowanie animacji wymaga również, aby scenorys miał nazwę lub był dostępny jako wystąpienie w kodzie.
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 tych 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:
Aby usunąć wszystkie zegary z właściwości, użyj metody ApplyAnimationClock(DependencyProperty, AnimationClock) lub BeginAnimation(DependencyProperty, AnimationTimeline) animowanego obiektu. Określ właściwość, która jest animowana jako pierwszy parametr, a
null
jako drugą. Spowoduje to usunięcie wszystkich zegarów animacji z właściwości .Aby usunąć określone AnimationClock z listy zegarów, użyj właściwości ControllerAnimationClock, aby pobrać ClockController, a następnie wywołaj metodę RemoveClockController. Zazwyczaj odbywa się to w programie obsługi zdarzeń Completed zegara. Należy pamiętać, że tylko zegary główne mogą być kontrolowane przez ClockController; właściwość Controller zegara podrzędnego zwraca wartość
null
. Należy również pamiętać, że zdarzenie Completed nie jest wywoływane, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik musi określić, kiedy wywołać Remove.
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.