Condividi tramite


Timeline Classe

Definizione

Definisce un segmento 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. Fornisce proprietà che consentono di specificare la lunghezza del segmento, quando deve iniziare, il numero di volte in cui si ripete, il tempo di avanzamento rapido in tale segmento e altro ancora.

Le classi che ereditano dalla classe sequenza temporale forniscono funzionalità aggiuntive, ad esempio animazione e riproduzione multimediale. Di seguito sono riportati alcuni esempi 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 intervallo delle sequenze temporali, vedere Panoramica dei comportamenti di intervallo.

Data binding e animazione di 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, aiuta a capire cosa significa attivare una sequenza temporale.

Quando viene applicata una sequenza temporale, le copie vengono eseguite 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 era associata a dati o animata, è stato creato uno snapshot dei relativi valori correnti al momento della creazione dell'orologio. Anche se la sequenza temporale originale potrebbe continuare a cambiare, l'orologio non cambia.

Affinché una sequenza temporale rifletta le modifiche al data binding o all'animazione, è necessario rigenerarne l'orologio. Gli orologi non vengono rigenerati automaticamente. Di seguito sono riportati diversi modi per applicare le modifiche della sequenza temporale:

  • Se la sequenza temporale è o appartiene a un Storyboard, puoi farla riflettere i cambiamenti riapplicando lo storyboard utilizzando un BeginStoryboard o il metodo Begin. Questo ha l'effetto collaterale del riavvio dell'animazione. Nel codice è possibile usare il metodo Seek per riportare lo storyboard alla posizione precedente.

  • Se hai applicato un'animazione direttamente a una proprietà usando il metodo , chiama di nuovo il BeginAnimationBeginAnimation metodo e passa l'animazione modificata.

  • Se si lavora direttamente al livello dell'orologio, creare e applicare un nuovo insieme di orologi e usarli per sostituire l'insieme precedente di orologi generati.

Per un esempio di animazione associata a dati, vedere Key Spline Animation Sample .For an example of a data bound animation, see the Key Spline Animation Sample .

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

Nome Descrizione
Timeline()

Inizializza una nuova istanza della classe Timeline.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Inizializza una nuova istanza della Timeline classe con l'oggetto , BeginTimee DurationspecificatiRepeatBehavior.

Timeline(Nullable<TimeSpan>, Duration)

Inizializza una nuova istanza della Timeline classe con l'oggetto e BeginTimespecificatoDuration.

Timeline(Nullable<TimeSpan>)

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

Campi

Nome Descrizione
AccelerationRatioProperty

Identifica la AccelerationRatio proprietà di dipendenza.

AutoReverseProperty

Identifica la AutoReverse proprietà di dipendenza.

BeginTimeProperty

Identifica la BeginTime proprietà di dipendenza.

DecelerationRatioProperty

Identifica per la DecelerationRatio proprietà di dipendenza.

DesiredFrameRateProperty

Identifica la DesiredFrameRate proprietà associata.

DurationProperty

Identifica la Duration proprietà di dipendenza.

FillBehaviorProperty

Identifica la FillBehavior proprietà di dipendenza.

NameProperty

Identifica la Name proprietà di dipendenza.

RepeatBehaviorProperty

Identifica la RepeatBehavior proprietà di dipendenza.

SpeedRatioProperty

Identifica per la SpeedRatio proprietà di dipendenza.

Proprietà

Nome Descrizione
AccelerationRatio

Ottiene o imposta un valore che specifica la percentuale di tempo impiegato dalla sequenza temporale Duration accelerando il passaggio del tempo da zero a quello massimo.

AutoReverse

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

BeginTime

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

CanFreeze

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

(Ereditato da Freezable)
DecelerationRatio

Ottiene o imposta un valore che specifica la percentuale della sequenza temporale Duration trascorsa decelerando il passaggio del tempo dal tasso massimo allo zero.

DependencyObjectType

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

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
Duration

Ottiene o imposta l'intervallo di tempo per il quale viene riprodotta questa sequenza temporale, senza contare le ripetizioni.

FillBehavior

Ottiene o imposta un valore che specifica il comportamento dell'oggetto Timeline dopo che raggiunge la fine del periodo attivo.

HasAnimatedProperties

Ottiene un valore che indica se uno o più AnimationClock oggetti sono associati a una 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 questa istanza è attualmente sealed (sola lettura).

(Ereditato da DependencyObject)
Name

Ottiene o imposta il nome dell'oggetto Timeline.

RepeatBehavior

Ottiene o imposta il comportamento ripetuto di questa sequenza temporale.

SpeedRatio

Ottiene o imposta la frequenza, rispetto al relativo elemento padre, in cui l'ora avanza per l'oggetto Timeline.

Proprietà associate

Nome Descrizione
DesiredFrameRate

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

Metodi

Nome Descrizione
AllocateClock()

Crea un oggetto Clock per l'oggetto Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applica un oggetto AnimationClock all'oggetto specificato DependencyProperty. Se la proprietà è già animata, viene utilizzato l'oggetto specificato HandoffBehavior .

(Ereditato da Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

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

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

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

(Ereditato da Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Applica un'animazione all'oggetto specificato DependencyProperty. L'animazione viene avviata quando viene eseguito il rendering del fotogramma successivo. Se la proprietà specificata è già animata, viene utilizzato il SnapshotAndReplace comportamento di handoff.

(Ereditato da Animatable)
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

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

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

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

(Ereditato da DependencyObject)
Clone()

Crea un clone modificabile di questo Timelineoggetto , eseguendo copie complete dei valori di questo oggetto.

CloneCore(Freezable)

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

(Ereditato da Freezable)
CloneCurrentValue()

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

CloneCurrentValueCore(Freezable)

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

(Ereditato da Freezable)
CoerceValue(DependencyProperty)

Forza il valore della proprietà di dipendenza specificata. A tale scopo, richiamare qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza così come esiste nella chiamata DependencyObjectdi .

(Ereditato da DependencyObject)
CreateClock()

Crea un nuovo oggetto controllabile Clock da questo Timelineoggetto . Se ha Timeline elementi figlio, viene creato un albero di orologi con questo Timeline come radice.

CreateClock(Boolean)

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

CreateInstance()

Inizializza una nuova istanza della classe Freezable.

(Ereditato da Freezable)
CreateInstanceCore()

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

(Ereditato da Freezable)
Equals(Object)

Determina se un oggetto specificato DependencyObject è equivalente all'oggetto corrente DependencyObject.

(Ereditato da DependencyObject)
Freeze()

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

(Ereditato da Freezable)
FreezeCore(Boolean)

Timeline Rende questo non modificabile o determina se può essere reso non modificabile.

GetAnimationBaseValue(DependencyProperty)

Restituisce il valore non animato dell'oggetto specificato DependencyProperty.

(Ereditato da Animatable)
GetAsFrozen()

Crea una copia bloccata della proprietà , utilizzando i valori della Freezableproprietà base (non animati). Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento.

(Ereditato da Freezable)
GetAsFrozenCore(Freezable)

Rende questa istanza un clone dell'oggetto specificato Timeline .

GetCurrentValueAsFrozen()

Crea una copia bloccata dell'oggetto utilizzando i valori correnti delle Freezable proprietà. Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento.

(Ereditato da Freezable)
GetCurrentValueAsFrozenCore(Freezable)

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

GetDesiredFrameRate(Timeline)

Ottiene la frequenza dei fotogrammi desiderata dell'oggetto specificato Timeline.

GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto .

(Ereditato da DependencyObject)
GetNaturalDuration(Clock)

Restituisce la lunghezza di una singola iterazione di questo Timelineoggetto .

GetNaturalDurationCore(Clock)

Restituisce la lunghezza di una singola iterazione di questo Timelineoggetto . Questo metodo fornisce l'implementazione per GetNaturalDuration(Clock).

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

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

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Rivaluta il valore effettivo per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnChanged()

Chiamato quando l'oggetto corrente Freezable viene modificato.

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

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

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assicura che vengano stabiliti puntatori di contesto appropriati per un DependencyObjectType membro dati appena impostato.

(Ereditato da Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Esegue l'override dell'implementazione DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche i Changed gestori in risposta a una proprietà di dipendenza modificata 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'oggetto Freezable sia accessibile da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dati che non sono proprietà di dipendenza.

(Ereditato da Freezable)
SetCurrentValue(DependencyProperty, Object)

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

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

Imposta la frequenza dei fotogrammi desiderata dell'oggetto specificato Timeline.

SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'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 per la 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 questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
WritePostscript()

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

(Ereditato da Freezable)
WritePreamble()

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

(Ereditato da Freezable)

Eventi

Nome Descrizione
Changed

Si verifica quando l'oggetto Freezable o un oggetto che contiene viene modificato.

(Ereditato da Freezable)
Completed

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

CurrentGlobalSpeedInvalidated

Si verifica quando cambia la frequenza di avanzamento dell'ora per l'orologio della sequenza temporale.

CurrentStateInvalidated

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

CurrentTimeInvalidated

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

RemoveRequested

Si verifica quando l'orologio creato per questa sequenza temporale o una delle sequenze temporali padre viene rimossa.

Si applica a

Vedi anche