Condividi tramite


FrameworkElement.BeginStoryboard Metodo

Definizione

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 dovrebbe accadere 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.

Esempio

Nell'esempio seguente viene recuperato un Storyboard dalle risorse e quindi viene eseguito tale Storyboard quando 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 inseriscono come contenuto EventTrigger su un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti di controllo di un Storyboard può essere risolta dalle proprietà esposte nel markup.

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

Si applica a

BeginStoryboard(Storyboard, HandoffBehavior)

Inizia la sequenza di azioni contenute nello storyboard fornito, con le opzioni specificate per ciò che dovrebbe accadere 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.

Esempio

Nell'esempio seguente viene recuperato un Storyboard dalle risorse e quindi viene eseguito tale Storyboard quando 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 inseriscono come contenuto EventTrigger su un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti di controllo di un Storyboard può essere risolta dalle proprietà esposte nel markup.

Per le firme che non usano il parametro isControllable, o quando tale parametro viene specificato false, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena l'animazione raggiunge il punto "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Il controllo di un'animazione richiede anche che lo storyboard abbia un 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 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:

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

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 inseriscono come contenuto EventTrigger su un elemento. Quando viene attivato dall'evento, l'animazione viene quindi eseguita. La maggior parte degli aspetti di controllo di un Storyboard può essere risolta dalle proprietà esposte nel markup.

Per le firme che non usano il parametro isControllable, o quando tale parametro viene specificato false, gli orologi della sequenza temporale associati all'animazione vengono rimossi non appena l'animazione raggiunge il punto "Riempimento". Non è pertanto possibile riavviare l'animazione dopo l'esecuzione una sola volta. Il controllo di un'animazione richiede anche che lo storyboard abbia un 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 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:

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