Condividi tramite


Timeline Classe

Definizione

Definisce un intervallo di tempo.

public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
    inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
Ereditarietà
Derivato
Attributi

Commenti

Una sequenza temporale rappresenta un segmento di tempo. Offre proprietà che consentono di specificare la lunghezza di tale intervallo, il momento di inizio, il numero di ripetizioni, la velocità di avanzamento dell'intervallo e così via.

Le classi che ereditano dalla classe della sequenza temporale offrono funzionalità aggiuntive, ad esempio la riproduzione di animazioni e file multimediali. Di seguito sono riportati esempi di alcuni dei diversi tipi di sequenze temporali specializzate disponibili.

Per altre informazioni sull'uso delle sequenze temporali, vedere Cenni preliminari sull'animazione. Per un'introduzione alle funzionalità di temporizzazione delle sequenze temporali, vedere Cenni preliminari sui comportamenti di temporizzazione.

Data binding e animazione delle sequenze temporali

La maggior parte delle proprietà della sequenza temporale può essere associata a dati o animata; Tuttavia, a causa del funzionamento del sistema di temporizzazione, i dati associati o le sequenze temporali animate non si comportano come altri oggetti associati a dati o animati. Per comprendere il comportamento, è utile comprendere cosa significa attivare una sequenza temporale.

Quando viene applicata una sequenza temporale, le copie vengono create della sequenza temporale e delle sequenze temporali figlio. Queste copie vengono bloccate (di sola lettura) e Clock gli oggetti vengono creati da essi. Si tratta di questi orologi che eseguono il lavoro effettivo di animazione delle proprietà di destinazione. Se una sequenza temporale è associata a dati o animata, è stato creato uno snapshot dei valori correnti al momento della creazione del relativo orologio. Anche se la sequenza temporale originale potrebbe continuare a cambiare, il suo orologio non lo fa.

Affinché una sequenza temporale rifletta le modifiche del data binding o dell'animazione, è necessario rigenerarne l'orologio. Gli orologi non vengono rigenerati automaticamente. Di seguito vengono indicate diverse modalità per applicare le modifiche alla sequenza temporale:

  • Se la sequenza temporale è o appartiene a un Storyboardoggetto , è possibile apportare modifiche riapplicandone lo storyboard usando o BeginStoryboard il Begin metodo . Come effetto collaterale, l'animazione viene riavviata. Nel codice è possibile usare il Seek metodo per riportare lo storyboard alla posizione precedente.

  • Se è stata applicata un'animazione direttamente a una proprietà usando il BeginAnimation metodo , chiamare di nuovo il BeginAnimation metodo e passarla all'animazione modificata.

  • Se si lavora direttamente a livello di orologio, creare e applicare un nuovo set di orologi e usarli per sostituire il set di orologi generati in precedenza.

Per un esempio di animazione associata a dati, vedere l'esempio di animazione spline chiave .

Uso di una sequenza temporale come timer

L'orologio di una sequenza temporale procederà solo quando è associato un gestore eventi o , nel caso di un AnimationClock oggetto, associato a una proprietà. Per questo motivo (e altri), non è consigliabile usare come Timeline timer.

Costruttori

Timeline()

Inizializza una nuova istanza della classe Timeline.

Timeline(Nullable<TimeSpan>)

Inizializza una nuova istanza della classe Timeline con l'oggetto BeginTime specificato.

Timeline(Nullable<TimeSpan>, Duration)

Inizializza una nuova istanza della classe Timeline con gli oggetti BeginTime e Duration specificati.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Inizializza una nuova istanza della classe Timeline con gli oggetti BeginTime, Duration e RepeatBehavior specificati.

Campi

AccelerationRatioProperty

Identifica la proprietà di dipendenza AccelerationRatio.

AutoReverseProperty

Identifica la proprietà di dipendenza AutoReverse.

BeginTimeProperty

Identifica la proprietà di dipendenza BeginTime.

DecelerationRatioProperty

Identifica la proprietà di dipendenza DecelerationRatio.

DesiredFrameRateProperty

Identifica la proprietà associata DesiredFrameRate.

DurationProperty

Identifica la proprietà di dipendenza Duration.

FillBehaviorProperty

Identifica la proprietà di dipendenza FillBehavior.

NameProperty

Identifica la proprietà di dipendenza Name.

RepeatBehaviorProperty

Identifica la proprietà di dipendenza RepeatBehavior.

SpeedRatioProperty

Identifica la proprietà di dipendenza SpeedRatio.

Proprietà

AccelerationRatio

Ottiene o imposta un valore che specifica la percentuale della Duration della sequenza temporale trascorsa accelerando il passaggio da zero alla frequenza massima.

AutoReverse

Ottiene o imposta un valore che indica se la sequenza temporale viene riprodotta in senso inverso dopo il completamento di un'iterazione in avanti.

BeginTime

Ottiene o imposta l'ora in cui deve iniziare questa Timeline.

CanFreeze

Ottiene un valore che indica se l'oggetto può essere impostato come non modificabile.

(Ereditato da Freezable)
DecelerationRatio

Ottiene o imposta un valore che specifica la percentuale della Duration della sequenza temporale trascorsa decelerando il passaggio dalla frequenza massima a zero.

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
Duration

Ottiene o imposta la durata di riproduzione di questa sequenza temporale, senza contare le ripetizioni.

FillBehavior

Ottiene o imposta un valore che specifica come Timeline si comporti dopo avere raggiunto la fine del periodo attivo.

HasAnimatedProperties

Ottiene un valore che indica se uno o più oggetti AnimationClock sono associati a una qualsiasi delle proprietà di dipendenza di questo oggetto.

(Ereditato da Animatable)
IsFrozen

Ottiene un valore che indica se l'oggetto è attualmente modificabile.

(Ereditato da Freezable)
IsSealed

Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura).

(Ereditato da DependencyObject)
Name

Ottiene o imposta il nome di Timeline.

RepeatBehavior

Ottiene o imposta il comportamento di ripetizione della sequenza temporale.

SpeedRatio

Ottiene o imposta la velocità, relativa al padre, di avanzamento del tempo per questa Timeline.

Proprietà associate

DesiredFrameRate

Ottiene o imposta la frequenza di aggiornamento desiderata per questa sequenza temporale e le sequenze temporali figlio.

Metodi

AllocateClock()

Crea un oggetto Clock per questo oggetto Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se la proprietà è già animata, viene usato il comportamento di continuità di SnapshotAndReplace.

(Ereditato da Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applica un oggetto AnimationClock all'oggetto DependencyProperty specificato. Se alla proprietà è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato.

(Ereditato da Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando viene eseguito il rendering del fotogramma successivo. Se alla proprietà specificata è già applicata un'animazione, viene usato il comportamento di continuità di SnapshotAndReplace.

(Ereditato da Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Applica un'animazione all'oggetto DependencyProperty specificato. L'animazione viene avviata quando viene eseguito il rendering del fotogramma successivo. Se alla proprietà specificata è già stata aggiunta un'animazione, viene utilizzato l'oggetto HandoffBehavior specificato.

(Ereditato da Animatable)
CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
Clone()

Crea un clone modificabile di questo oggetto Timeline, eseguendo copie complete dei valori dell'oggetto.

CloneCore(Freezable)

Rende l'istanza un clone (copia completa) dell'oggetto Freezable specificato usando i valori di proprietà di base (non animati).

(Ereditato da Freezable)
CloneCurrentValue()

Crea un clone modificabile dell'oggetto Timeline, eseguendo copie complete dei valori correnti di tale oggetto.

CloneCurrentValueCore(Freezable)

Rende l'istanza un clone (copia completa) modificabile dell'oggetto Freezable specificato usando i valori di proprietà correnti.

(Ereditato da Freezable)
CoerceValue(DependencyProperty)

Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.

(Ereditato da DependencyObject)
CreateClock()

Crea un nuovo oggetto Clock controllabile in base al valore di Timeline. Se l'oggetto Timeline dispone di elementi figlio, viene creato un albero di orologi con Timeline come radice.

CreateClock(Boolean)

Crea un nuovo Clock da questa Timeline e specifica se il nuovo Clock è controllabile. Se l'oggetto Timeline dispone di elementi figlio, viene creato un albero di orologi con Timeline come radice.

CreateInstance()

Inizializza una nuova istanza della classe Freezable.

(Ereditato da Freezable)
CreateInstanceCore()

Quando è implementato in una classe derivata, crea una nuova istanza della classe derivata Freezable.

(Ereditato da Freezable)
Equals(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

(Ereditato da DependencyObject)
Freeze()

Rende non modificabile l'oggetto corrente e ne imposta la proprietà IsFrozen su true.

(Ereditato da Freezable)
FreezeCore(Boolean)

Rende immodificabile questa Timeline o determina se può essere resa immodificabile.

GetAnimationBaseValue(DependencyProperty)

Restituisce il valore non animato dell'oggetto DependencyProperty specificato.

(Ereditato da Animatable)
GetAsFrozen()

Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati). Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetAsFrozenCore(Freezable)

Rende questa istanza un clone dell'oggetto Timeline specificato.

GetCurrentValueAsFrozen()

Crea una copia bloccata di Freezable utilizzando valori della proprietà correnti. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Rende questa istanza un clone bloccato dell'oggetto Timeline specificato. I riferimenti alle risorse, i data binding e le animazioni non vengono copiati, ma vengono copiati i relativi valori correnti.

GetDesiredFrameRate(Timeline)

Imposta la frequenza di aggiornamento dei frame della Timeline specificata.

GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetNaturalDuration(Clock)

Restituisce la lunghezza di una singola iterazione di questo oggetto Timeline.

GetNaturalDurationCore(Clock)

Restituisce la lunghezza di una singola iterazione di questo oggetto Timeline. Questo metodo fornisce l’implementazione per GetNaturalDuration(Clock).

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnChanged()

Chiamato quando viene modificato l'oggetto Freezable corrente.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assicura che adatti puntatori del contesto siano stabiliti per un membro dati DependencyObjectType che è appena stato impostato.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Questo membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere usata direttamente dal codice.

(Ereditato da Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Esegue l'override dell'implementazione di DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche eventuali gestori Changed in risposta alla modifica di una proprietà di dipendenza di tipo Freezable.

(Ereditato da Freezable)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
ReadPreamble()

Assicura che l’accesso di Freezable sia stato eseguito da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)
SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore.

(Ereditato da DependencyObject)
SetDesiredFrameRate(Timeline, Nullable<Int32>)

Imposta la frequenza di aggiornamento dei frame della Timeline specificata.

SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)
WritePostscript()

Genera l'evento Changed per Freezable e richiama il metodo OnChanged(). Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri di classe che non sono archiviati come proprietà di dipendenza.

(Ereditato da Freezable)
WritePreamble()

Verifica che l'oggetto Freezable non sia bloccato e che l'accesso sia eseguito da un contesto di threading valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che scrive sui membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)

Eventi

Changed

Si verifica quando Freezable o un oggetto che contiene è modificato.

(Ereditato da Freezable)
Completed

Si verifica quando questa sequenza temporale ha completamente terminato la riproduzione e non entrerà più nel periodo attivo.

CurrentGlobalSpeedInvalidated

Si verifica quando cambia la frequenza con cui avanza il tempo per il clock della sequenza temporale.

CurrentStateInvalidated

Si verifica quando viene aggiornata la proprietà CurrentState dell'oggetto Clock della sequenza temporale.

CurrentTimeInvalidated

Si verifica quando viene aggiornata la proprietà CurrentTime dell'oggetto Clock della sequenza temporale.

RemoveRequested

Si verifica quando il clock creato per questa sequenza temporale o una delle sequenze temporali padre viene rimosso.

Si applica a

Vedi anche