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 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 wystąpić, jeśli właściwość jest już animowana. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Rozpoczyna sekwencję akcji zawartych w dostarczonej scenorysie z określonym stanem kontroli animacji 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.
Uwagi
W przypadku podpisów, które nie używają parametru , lub po określeniu isControllable
false
tego parametru zegary osi czasu skojarzone z animacją są usuwane natychmiast po osiągnięciu okresu "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 został nazwany lub dostępny jako wystąpienie w kodzie.
Dotyczy
BeginStoryboard(Storyboard, HandoffBehavior)
Rozpoczyna sekwencję akcji zawartych w dostarczonej 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, która opisuje zachowanie do użycia, jeśli właściwość opisana w scenorysie jest już animowana.
Uwagi
W przypadku podpisów, które nie używają parametru , lub po określeniu isControllable
false
tego parametru zegary osi czasu skojarzone z animacją są usuwane natychmiast po osiągnięciu okresu "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 został nazwany lub dostępny jako wystąpienie w kodzie.
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:
Aby usunąć wszystkie zegary z właściwości, użyj ApplyAnimationClock(DependencyProperty, AnimationClock) metody lub BeginAnimation(DependencyProperty, AnimationTimeline) animowanego obiektu. Określ właściwość, która jest animowana jako pierwszy parametr, i
null
jako drugą. Spowoduje to usunięcie wszystkich zegarów animacji z właściwości .Aby usunąć określony AnimationClock element z listy zegarów, użyj Controller właściwości AnimationClock , aby pobrać element , a następnie wywołaj Remove metodę ClockController.ClockController Zazwyczaj odbywa się to w procedurze Completed obsługi zdarzeń dla zegara. Należy pamiętać, że tylko zegary główne mogą być kontrolowane przez ; ClockControllerController właściwość zegara podrzędnego zwraca wartość
null
. Należy również pamiętać, że Completed zdarzenie nie jest zgłaszane, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik musi określić, kiedy wywołać metodę Remove.
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 animacji 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
W przypadku podpisów, które nie używają parametru , lub po określeniu isControllable
false
tego parametru zegary osi czasu skojarzone z animacją są usuwane natychmiast po osiągnięciu okresu "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 został nazwany lub dostępny jako wystąpienie w kodzie.
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 tych 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:
Aby usunąć wszystkie zegary z właściwości, użyj ApplyAnimationClock(DependencyProperty, AnimationClock) metody lub BeginAnimation(DependencyProperty, AnimationTimeline) animowanego obiektu. Określ właściwość, która jest animowana jako pierwszy parametr, i
null
jako drugą. Spowoduje to usunięcie wszystkich zegarów animacji z właściwości .Aby usunąć określony AnimationClock element z listy zegarów, użyj Controller właściwości AnimationClock , aby pobrać element , a następnie wywołaj Remove metodę ClockController.ClockController Zazwyczaj odbywa się to w procedurze Completed obsługi zdarzeń dla zegara. Należy pamiętać, że tylko zegary główne mogą być kontrolowane przez ; ClockControllerController właściwość zegara podrzędnego zwraca wartość
null
. Należy również pamiętać, że Completed zdarzenie nie jest zgłaszane, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik musi określić, kiedy wywołać metodę Remove.
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla