FrameworkContentElement.BeginStoryboard Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizia la sequenza di azioni contenute nello storyboard fornito.
Overload
BeginStoryboard(Storyboard) |
Inizia la sequenza di azioni contenute nello storyboard fornito. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Inizia la sequenza di azioni contenute nello storyboard fornito, con le opzioni specificate per ciò che deve verificarsi se la proprietà è già animata. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Inizia la sequenza di azioni contenute nello storyboard fornito, con lo stato specificato per il controllo dell'animazione dopo l'avvio. |
BeginStoryboard(Storyboard)
Inizia la sequenza di azioni contenute nello storyboard fornito.
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)
Parametri
- storyboard
- Storyboard
Storyboard da iniziare.
Commenti
Per le firme che non usano il isControllable
parametro o quando tale parametro viene specificato false
, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena raggiunge il punto "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Si noti che il controllo di un'animazione richiede anche che lo storyboard sia denominato o accessibile come istanza nel codice.
Si applica a
BeginStoryboard(Storyboard, HandoffBehavior)
Inizia la sequenza di azioni contenute nello storyboard fornito, con le opzioni specificate per ciò che deve verificarsi se la proprietà è già animata.
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)
Parametri
- storyboard
- Storyboard
Storyboard da iniziare.
- handoffBehavior
- HandoffBehavior
Valore dell'enumerazione che descrive il comportamento da utilizzare se una proprietà descritta nello storyboard è già animata.
Commenti
Per le firme che non usano il isControllable
parametro o quando tale parametro viene specificato false
, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena raggiunge il punto "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Si noti che il controllo di un'animazione richiede anche che lo storyboard sia denominato o accessibile come istanza nel codice.
Uso di Compose HandoffBehavior
Quando si applica una Storyboard, AnimationTimelineo AnimationClock a una proprietà utilizzando l'ComposeHandoffBehavior, tutti gli oggetti Clock precedentemente associati a tale proprietà continuano a utilizzare le risorse di sistema; il sistema di temporizzazione non rimuove automaticamente gli orologi.
Per evitare problemi di prestazioni quando si applica un numero elevato di orologi usando Compose, è necessario rimuovere i clock di composizione dalla proprietà animata dopo il completamento. Esistono diversi modi per rimuovere un orologio:
Per rimuovere tutti gli orologi da una proprietà, utilizzare il metodo ApplyAnimationClock(DependencyProperty, AnimationClock) o BeginAnimation(DependencyProperty, AnimationTimeline) dell'oggetto animato. Specificare la proprietà animata come primo parametro e
null
come seconda. In questo modo tutti gli orologi di animazione vengono rimossi dalla proprietà .Per rimuovere un AnimationClock specifico da un elenco di orologi, utilizzare la proprietà Controller del AnimationClock per recuperare un ClockController, quindi chiamare il metodo Remove del ClockController. Questa operazione viene in genere eseguita nel gestore eventi Completed per un orologio. Si noti che solo gli orologi radice possono essere controllati da un ClockController; la proprietà Controller di un orologio figlio restituisce
null
. Si noti anche che l'evento Completed non viene generato se la durata effettiva dell'orologio è per sempre. In tal caso, l'utente deve determinare quando chiamare Remove.
Si tratta principalmente di un problema per le animazioni sugli oggetti che hanno una durata prolungata. Quando un oggetto viene sottoposto a Garbage Collection, anche i relativi orologi vengono disconnessi e sottoposto a Garbage Collection.
Per altre informazioni sugli oggetti clock, vedere Animation and Timing System Overview.
Si applica a
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Inizia la sequenza di azioni contenute nello storyboard fornito, con lo stato specificato per il controllo dell'animazione dopo l'avvio.
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)
Parametri
- storyboard
- Storyboard
Storyboard da iniziare.
- handoffBehavior
- HandoffBehavior
Valore dell'enumerazione che descrive il comportamento da utilizzare se una proprietà descritta nello storyboard è già animata.
- isControllable
- Boolean
Dichiara se l'animazione è controllabile (può essere sospesa) dopo l'avvio.
Commenti
Per le firme che non usano il isControllable
parametro o quando tale parametro viene specificato false
, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena raggiunge il punto "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Si noti che il controllo di un'animazione richiede anche che lo storyboard sia denominato o accessibile come istanza nel codice.
Uso di Compose HandoffBehavior
Quando si applica una Storyboard, AnimationTimelineo AnimationClock a una proprietà utilizzando l'ComposeHandoffBehavior, tutti gli oggetti Clock precedentemente associati a tale proprietà continuano a utilizzare le risorse di sistema; il sistema di temporizzazione non rimuove automaticamente questi orologi.
Per evitare problemi di prestazioni quando si applica un numero elevato di orologi usando Compose, è necessario rimuovere i clock di composizione dalla proprietà animata dopo il completamento. Esistono diversi modi per rimuovere un orologio:
Per rimuovere tutti gli orologi da una proprietà, utilizzare il metodo ApplyAnimationClock(DependencyProperty, AnimationClock) o BeginAnimation(DependencyProperty, AnimationTimeline) dell'oggetto animato. Specificare la proprietà animata come primo parametro e
null
come seconda. In questo modo tutti gli orologi di animazione vengono rimossi dalla proprietà .Per rimuovere un AnimationClock specifico da un elenco di orologi, utilizzare la proprietà Controller del AnimationClock per recuperare un ClockController, quindi chiamare il metodo Remove del ClockController. Questa operazione viene in genere eseguita nel gestore eventi Completed per un orologio. Si noti che solo gli orologi radice possono essere controllati da un ClockController; la proprietà Controller di un orologio figlio restituisce
null
. Si noti anche che l'evento Completed non viene generato se la durata effettiva dell'orologio è per sempre. In tal caso, l'utente deve determinare quando chiamare Remove.
Si tratta principalmente di un problema per le animazioni sugli oggetti che hanno una durata prolungata. Quando un oggetto viene sottoposto a Garbage Collection, anche i relativi orologi vengono disconnessi e sottoposto a Garbage Collection.
Per altre informazioni sugli oggetti clock, vedere Animation and Timing System Overview.