FrameworkContentElement.BeginStoryboard Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři.
Přetížení
BeginStoryboard(Storyboard) |
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři, s možnostmi zadanými pro to, co by mělo nastat, pokud je vlastnost již animovaný. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři, se zadaným stavem pro řízení animace po jejím spuštění. |
BeginStoryboard(Storyboard)
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři.
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
Scénář, který má začít.
Poznámky
U podpisů, které nepoužívají isControllable
parametr , nebo při zadání false
parametru se hodiny časové osy přidružené k animaci odeberou, jakmile dosáhne období vyplnění. Proto nelze animaci po spuštění jednou restartovat. Mějte na paměti, že řízení animace také vyžaduje, aby scénář byl pojmenován nebo přístupný jako instance v kódu.
Platí pro
BeginStoryboard(Storyboard, HandoffBehavior)
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři, s možnostmi zadanými pro to, co by mělo nastat, pokud je vlastnost již animovaný.
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
Scénář, který má začít.
- handoffBehavior
- HandoffBehavior
Hodnota výčtu, která popisuje chování, které se má použít v případě, že vlastnost popsaná ve scénáři je již animované.
Poznámky
U podpisů, které nepoužívají isControllable
parametr , nebo při zadání false
parametru se hodiny časové osy přidružené k animaci odeberou, jakmile dosáhne období vyplnění. Proto nelze animaci po spuštění jednou restartovat. Mějte na paměti, že řízení animace také vyžaduje, aby scénář byl pojmenován nebo přístupný jako instance v kódu.
Použití HandoffBehavior psaní
Když použijete Storyboardvlastnost , AnimationTimelinenebo AnimationClock na vlastnost pomocí ComposeHandoffBehavior, všechny Clock objekty dříve přidružené k této vlastnosti budou dál využívat systémové prostředky; časovací systém neodebere hodiny automaticky.
Chcete-li se vyhnout problémům s výkonem při použití velkého počtu hodin pomocí Composenástroje , měli byste po dokončení odebrat hodiny psaní z animované vlastnosti. Hodiny můžete odebrat několika způsoby:
Pokud chcete z vlastnosti odebrat všechny hodiny, použijte metodu ApplyAnimationClock(DependencyProperty, AnimationClock) nebo BeginAnimation(DependencyProperty, AnimationTimeline) animovaného objektu. Jako první parametr zadejte vlastnost, která se má oživovat, a
null
jako druhý parametr. Tím se z vlastnosti odeberou všechny hodiny animace.Chcete-li odebrat konkrétní AnimationClock ze seznamu hodin, použijte Controller vlastnost AnimationClock k načtení objektu ClockControllera pak volání Remove metody ClockController. To se obvykle provádí v obslužné rutině Completed události pro hodiny. Všimněte si, že pouze kořenové hodiny mohou být řízeny ; ClockControllerController vlastnost podřízených hodin vrátí
null
. Všimněte si také, že Completed událost není vyvolána, pokud je platná doba trvání hodin navždy. V takovém případě musí uživatel určit, kdy má volat Remove.
Jedná se především o problém u animací u objektů, které mají dlouhou životnost. Když je objekt uvolněn z paměti, jeho hodiny jsou také odpojeny a uvolněny.
Další informace o objektech hodin najdete v tématu Přehled systému animací a časování.
Platí pro
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Zahájí posloupnost akcí, které jsou obsaženy v poskytnutém scénáři, se zadaným stavem pro řízení animace po jejím spuštění.
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
Scénář, který má začít.
- handoffBehavior
- HandoffBehavior
Hodnota výčtu, která popisuje chování, které se má použít v případě, že vlastnost popsaná ve scénáři je již animované.
- isControllable
- Boolean
Deklaruje, zda je animace po spuštění kontrolovatelná (může být pozastavena).
Poznámky
U podpisů, které nepoužívají isControllable
parametr , nebo při zadání false
parametru se hodiny časové osy přidružené k animaci odeberou, jakmile dosáhne období vyplnění. Proto nelze animaci po spuštění jednou restartovat. Mějte na paměti, že řízení animace také vyžaduje, aby scénář byl pojmenován nebo přístupný jako instance v kódu.
Použití HandoffBehavior psaní
Když použijete Storyboardvlastnost , AnimationTimelinenebo AnimationClock pomocí ComposeHandoffBehavior, všechny Clock objekty dříve přidružené k této vlastnosti budou nadále využívat systémové prostředky; časovací systém tyto hodiny automaticky neodebere.
Chcete-li se vyhnout problémům s výkonem při použití velkého počtu hodin pomocí Composenástroje , měli byste po dokončení odebrat hodiny psaní z animované vlastnosti. Hodiny můžete odebrat několika způsoby:
Pokud chcete z vlastnosti odebrat všechny hodiny, použijte metodu ApplyAnimationClock(DependencyProperty, AnimationClock) nebo BeginAnimation(DependencyProperty, AnimationTimeline) animovaného objektu. Jako první parametr zadejte vlastnost, která se má oživovat, a
null
jako druhý parametr. Tím se z vlastnosti odeberou všechny hodiny animace.Chcete-li odebrat konkrétní AnimationClock ze seznamu hodin, použijte Controller vlastnost AnimationClock k načtení objektu ClockControllera pak volání Remove metody ClockController. To se obvykle provádí v obslužné rutině Completed události pro hodiny. Všimněte si, že pouze kořenové hodiny mohou být řízeny ; ClockControllerController vlastnost podřízených hodin vrátí
null
. Všimněte si také, že Completed událost není vyvolána, pokud je platná doba trvání hodin navždy. V takovém případě musí uživatel určit, kdy má volat Remove.
Jedná se především o problém u animací u objektů, které mají dlouhou životnost. Když je objekt uvolněn z paměti, jeho hodiny jsou také odpojeny a uvolněny.
Další informace o objektech hodin najdete v tématu Přehled systému animací a časování.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro