FrameworkElement.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 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 isControllable
parametro , 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 isControllable
parametro , 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:
Per rimuovere tutti gli orologi da una proprietà, usare il ApplyAnimationClock(DependencyProperty, AnimationClock) metodo 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 oggetto specifico AnimationClock da un elenco di orologi, utilizzare la Controller proprietà dell'oggetto AnimationClockClockControllerper recuperare un ClockControlleroggetto , quindi chiamare il Remove metodo di . Questa operazione viene in genere eseguita nel Completed gestore eventi per un orologio. Si noti che solo gli orologi radice possono essere controllati da un oggetto . La Controller proprietà di un ClockControllerorologio 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 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 isControllable
parametro , 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:
Per rimuovere tutti gli orologi da una proprietà, usare il ApplyAnimationClock(DependencyProperty, AnimationClock) metodo 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 oggetto specifico AnimationClock da un elenco di orologi, utilizzare la Controller proprietà dell'oggetto AnimationClockClockControllerper recuperare un ClockControlleroggetto , quindi chiamare il Remove metodo di . Questa operazione viene in genere eseguita nel Completed gestore eventi per un orologio. Si noti che solo gli orologi radice possono essere controllati da un oggetto . La Controller proprietà di un ClockControllerorologio 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 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per