FrameworkElement.BeginStoryboard Metodo

Definizione

Inizia la sequenza di azioni contenuta nello storyboard fornito.

Overload

BeginStoryboard(Storyboard)

Inizia la sequenza di azioni contenuta nello storyboard fornito.

BeginStoryboard(Storyboard, HandoffBehavior)

Inizia la sequenza di azioni contenuta nello storyboard fornito, specificando le opzioni relative alle azioni che dovrebbero verificarsi se la proprietà è già animata.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Inizia la sequenza di azioni contenuta nello storyboard fornito, specificando lo stato per il controllo dell'animazione dopo l'avvio.

BeginStoryboard(Storyboard)

Inizia la sequenza di azioni contenuta 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 avviare.

Esempio

Nell'esempio seguente viene recuperato un oggetto Storyboard dalle risorse e quindi viene eseguito quando Storyboard viene gestito un evento interno.

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

Commenti

La maggior parte degli scenari di animazione tipici non usa questo metodo. In genere, si crea l'elemento Storyboard o BeginStoryboard nel markup e quindi si inserisce come EventTrigger contenuto in un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti del controllo di un Storyboard può essere risolto dalle proprietà esposte nel markup.

Per le firme che non usano il isControllableparametro , o quando tale parametro è specificato false, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena l'animazione raggiunge il periodo "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Il controllo di un'animazione richiede anche che lo storyboard disponga di una direttiva x:Name o sia accessibile tramite riferimento nel codice.

Si applica a

BeginStoryboard(Storyboard, HandoffBehavior)

Inizia la sequenza di azioni contenuta nello storyboard fornito, specificando le opzioni relative alle azioni che dovrebbero 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 avviare.

handoffBehavior
HandoffBehavior

Valore dell'enumerazione che descrive il comportamento da utilizzare se una proprietà descritta nello storyboard è già animata.

Esempio

Nell'esempio seguente viene recuperato un oggetto Storyboard dalle risorse e quindi viene eseguito quando Storyboard viene gestito un evento interno.

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

Commenti

La maggior parte degli scenari di animazione tipici non usa questo metodo. In genere, si crea l'elemento Storyboard o BeginStoryboard nel markup e quindi si inserisce come EventTrigger contenuto in un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti del controllo di un Storyboard può essere risolto dalle proprietà esposte nel markup.

Per le firme che non usano il isControllableparametro , o quando tale parametro è specificato false, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena l'animazione raggiunge il periodo "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Il controllo di un'animazione richiede anche che lo storyboard disponga di una direttiva x:Name o sia accessibile tramite riferimento nel codice.

Il comportamento di handoff può essere specificato come attributo di BeginStoryboard.

Uso di Compose HandoffBehavior

Quando si applica una proprietà , o a una Storyboardproprietà usando , ComposeHandoffBehaviortutti gli Clock oggetti precedentemente associati a tale proprietà continuano a utilizzare le risorse di sistema. Il sistema di intervallo non rimuove automaticamente gli orologi.AnimationClockAnimationTimeline

Per evitare problemi di prestazioni quando si applica un numero elevato di orologi usando Compose, è necessario rimuovere i orologi di composizione dalla proprietà animata dopo il completamento. Esistono diversi modi per rimuovere un orologio:

Si tratta principalmente di un problema relativo alle animazioni su oggetti di lunga durata. Quando un oggetto viene garbage collection, i relativi orologi vengono disconnessi e garbage collection.

Per altre informazioni sugli oggetti orologio, vedere Panoramica del sistema di animazione e temporizzazione.

Si applica a

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Inizia la sequenza di azioni contenuta nello storyboard fornito, specificando lo stato 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 avviare.

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

La maggior parte degli scenari di animazione tipici non usa questo metodo. In genere, si crea l'elemento Storyboard o BeginStoryboard nel markup e quindi si inserisce come EventTrigger contenuto in un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti del controllo di un Storyboard può essere risolto dalle proprietà esposte nel markup.

Per le firme che non usano il isControllableparametro , o quando tale parametro è specificato false, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena l'animazione raggiunge il periodo "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Il controllo di un'animazione richiede anche che lo storyboard disponga di una direttiva x:Name o sia accessibile tramite riferimento nel codice.

Il comportamento di handoff può essere specificato come attributo di BeginStoryboard.

Uso di Compose HandoffBehavior

Quando si applica una proprietà , o a una Storyboardproprietà usando , ComposeHandoffBehaviortutti gli Clock oggetti precedentemente associati a tale proprietà continuano a utilizzare le risorse di sistema. Il sistema di intervallo non rimuove automaticamente gli orologi.AnimationClockAnimationTimeline

Per evitare problemi di prestazioni quando si applica un numero elevato di orologi usando Compose, è necessario rimuovere i orologi di composizione dalla proprietà animata dopo il completamento. Esistono diversi modi per rimuovere un orologio:

Si tratta principalmente di un problema relativo alle animazioni su oggetti di lunga durata. Quando un oggetto viene garbage collection, i relativi orologi vengono disconnessi e garbage collection.

Per altre informazioni sugli oggetti orologio, vedere Panoramica del sistema di animazione e temporizzazione.

Si applica a