Timeline Clase

Definición

Define un segmento de tiempo.

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
Herencia
Derivado
Atributos

Comentarios

Una escala de tiempo representa un segmento de tiempo. Proporciona propiedades que permiten especificar la longitud de ese segmento, cuándo debe iniciarse, cuántas veces se repetirá o la velocidad a la que progresará el tiempo en ese segmento, entre otras.

Las clases que heredan de la clase Timeline proporcionan funcionalidades adicionales, como reproducción de animaciones y multimedia. A continuación se muestran ejemplos de algunos de los diferentes tipos de escalas de tiempo especializadas disponibles.

Para obtener más información sobre el uso de escalas de tiempo, vea Información general sobre animaciones. Para obtener una introducción a las características de tiempo de las escalas de tiempo, consulte información general sobre los comportamientos de tiempo.

Enlaces de datos y animación de escalas de tiempo

La mayoría de las propiedades de escala de tiempo pueden estar enlazadas o animadas; sin embargo, debido a la forma en que funciona el sistema de control de tiempo, los datos enlazados o las escalas de tiempo animadas no se comportan como otros objetos enlazados a datos o animados. Para comprender su comportamiento, ayuda a comprender lo que significa activar una escala de tiempo.

Cuando se aplica una escala de tiempo, las copias se realizan de la escala de tiempo y sus escalas de tiempo secundarias. Estas copias se inmovilizan (se hacen de solo lectura) y se crean objetos Clock a partir de ellas. Son estos relojes que realizan el trabajo real de animar las propiedades de destino. Si una escala de tiempo estaba enlazada a datos o animada, se realizó una instantánea de sus valores actuales cuando se creó su reloj. Aunque la escala de tiempo original puede seguir cambiando, su reloj no lo hace.

Para que una escala de tiempo refleje los cambios de enlace de datos o animación, se debe volver a generar su reloj. Los relojes no se regeneran automáticamente. A continuación se muestran distintas maneras de aplicar cambios a las escalas de tiempo:

  • Si la escala de tiempo es un objeto Storyboard o pertenece a esta clase, para reflejar los cambios puede volver a aplicar su guion gráfico a través de BeginStoryboard o del método Begin. El efecto secundario de esta acción es que también se reinicia la animación. En código, puede usar el método Seek para avanzar el guion gráfico de vuelta a su posición anterior.

  • Si aplicaste una animación directamente a una propiedad mediante el BeginAnimation método , llama al BeginAnimation método de nuevo y pásela la animación que se ha modificado.

  • Si está trabajando directamente en el nivel de relojes, cree y aplique un nuevo conjunto de relojes y utilícelos para reemplazar el conjunto anterior de relojes generados.

Para obtener un ejemplo de una animación enlazada a datos, vea Ejemplo de animación de spline clave .

Usar una escala de tiempo como temporizador

El reloj de una escala de tiempo solo progresa cuando hay un controlador de eventos asociado a él o (en el caso de un AnimationClock objeto) está asociado a una propiedad . Por esta razón (y otros), no se recomienda usar como Timeline temporizador.

Constructores

Timeline()

Inicializa una nueva instancia de la clase Timeline.

Timeline(Nullable<TimeSpan>)

Inicializa una nueva instancia de la clase Timeline con el objeto BeginTime especificado.

Timeline(Nullable<TimeSpan>, Duration)

Inicializa una nueva instancia de la clase Timeline con los parámetros BeginTime y Duration especificados.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Inicializa una nueva instancia de la clase Timeline con los valores especificados de BeginTime, Duration y RepeatBehavior.

Campos

AccelerationRatioProperty

Identifica la propiedad de dependencia AccelerationRatio.

AutoReverseProperty

Identifica la propiedad de dependencia AutoReverse.

BeginTimeProperty

Identifica la propiedad de dependencia BeginTime.

DecelerationRatioProperty

Identifica la propiedad de dependencia DecelerationRatio.

DesiredFrameRateProperty

Identifica la propiedad adjunta DesiredFrameRate.

DurationProperty

Identifica la propiedad de dependencia Duration.

FillBehaviorProperty

Identifica la propiedad de dependencia FillBehavior.

NameProperty

Identifica la propiedad de dependencia Name.

RepeatBehaviorProperty

Identifica la propiedad de dependencia RepeatBehavior.

SpeedRatioProperty

Identifica la propiedad de dependencia SpeedRatio.

Propiedades

AccelerationRatio

Obtiene o establece un valor que especifica el porcentaje de Duration de la escala de tiempo transcurrido acelerando el paso del tiempo de cero a su velocidad máxima.

AutoReverse

Obtiene o establece un valor que indica si la escala de tiempo se reproduce en orden inverso después de completar una iteración de avance.

BeginTime

Obtiene o establece la hora a la que debe empezar Timeline.

CanFreeze

Obtiene un valor que indica si el objeto se puede convertir en no modificable.

(Heredado de Freezable)
DecelerationRatio

Obtiene o establece un valor que especifica el porcentaje de Duration de la escala de tiempo transcurrido desacelerando el paso del tiempo de su velocidad máxima a cero.

DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.

(Heredado de DispatcherObject)
Duration

Obtiene o establece la duración para la que se reproduce esta escala de tiempo, sin contar las repeticiones.

FillBehavior

Obtiene o establece un valor que especifica cómo se comporta Timeline una vez que llega al final de su período activo.

HasAnimatedProperties

Obtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto.

(Heredado de Animatable)
IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.

(Heredado de Freezable)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).

(Heredado de DependencyObject)
Name

Obtiene o establece el nombre de este objeto Timeline.

RepeatBehavior

Obtiene o establece el comportamiento de repetición de esta escala de tiempo.

SpeedRatio

Obtiene o establece la velocidad, relativa a su elemento primario, a la que progresa Timeline.

Propiedades adjuntas

DesiredFrameRate

Obtiene o establece la velocidad de fotograma deseada para esta escala de tiempo y sus escalas de tiempo secundarias.

Métodos

AllocateClock()

Crea un objeto Clock para este objeto Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.

(Heredado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica una animación a la DependencyProperty especificada. La animación se inicia al representar el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica una animación a la DependencyProperty especificada. La animación se inicia al representar el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado.

(Heredado de Animatable)
CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de este Timeline y hace copias en profundidad de los valores de este objeto.

CloneCore(Freezable)

Convierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con valores de propiedad base (no animadas).

(Heredado de Freezable)
CloneCurrentValue()

Crea un clon modificable de este objeto Timeline y hace copias en profundidad de sus valores actuales.

CloneCurrentValueCore(Freezable)

Convierte esta instancia en un clon modificable (copia en profundidad) del Freezable especificado mediante los valores de propiedad actuales.

(Heredado de Freezable)
CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.

(Heredado de DependencyObject)
CreateClock()

Crea un nuevo elemento Clock controlable de este elemento Timeline. Si este elemento Timeline tiene elementos secundarios, se crea un árbol de relojes con este elemento Timeline como raíz.

CreateClock(Boolean)

Crea un nuevo objeto Clock a partir de este objeto Timeline y especifica si el nuevo objeto Clock se puede controlar. Si este elemento Timeline tiene elementos secundarios, se crea un árbol de relojes con este elemento Timeline como raíz.

CreateInstance()

Inicializa una nueva instancia de la clase Freezable.

(Heredado de Freezable)
CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada.

(Heredado de Freezable)
Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.

(Heredado de DependencyObject)
Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.

(Heredado de Freezable)
FreezeCore(Boolean)

Convierte este objeto Timeline en no modificable o determina si se puede convertir en no modificable.

GetAnimationBaseValue(DependencyProperty)

Devuelve el valor no animado del objeto DependencyProperty especificado.

(Heredado de Animatable)
GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

(Heredado de Freezable)
GetAsFrozenCore(Freezable)

Convierte esta instancia en un clon del objeto Timeline especificado.

GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.

(Heredado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convierte esta instancia en un clon inmovilizado del valor de Timeline especificado. Las referencias de recursos, los enlaces de datos y las animaciones no se copian, pero sí sus valores actuales.

GetDesiredFrameRate(Timeline)

Obtiene la velocidad de fotograma deseada del objeto Timeline especificado.

GetHashCode()

Obtiene un código hash de este objeto DependencyObject.

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.

(Heredado de DependencyObject)
GetNaturalDuration(Clock)

Devuelve la longitud de una sola iteración de este objeto Timeline.

GetNaturalDurationCore(Clock)

Devuelve la longitud de una sola iteración de este objeto Timeline. Este método proporciona la implementación de GetNaturalDuration(Clock).

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnChanged()

Se le llama cuando el objeto Freezable actual se modifica.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

(Heredado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed en respuesta a una propiedad de dependencia cambiante de tipo Freezable.

(Heredado de Freezable)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que leen miembros de datos que no son propiedades de dependencia.

(Heredado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.

(Heredado de DependencyObject)
SetDesiredFrameRate(Timeline, Nullable<Int32>)

Establece la velocidad de fotograma deseada del objeto Timeline especificado.

SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged(). Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia.

(Heredado de Freezable)
WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido. Los herederos de Freezable deben llamar a este método al inicio de las API que escriben en miembros de datos que no son propiedades de dependencia.

(Heredado de Freezable)

Eventos

Changed

Se produce cuando se modifican la clase Freezable o un objeto que la contiene.

(Heredado de Freezable)
Completed

Se produce cuando esta escala de tiempo ha terminado de reproducirse totalmente: ya no especificará su período activo.

CurrentGlobalSpeedInvalidated

Se produce cuando cambia la velocidad de progreso del reloj de la escala de tiempo.

CurrentStateInvalidated

Tiene lugar cuando se actualiza la propiedad CurrentState del Clock de la escala de tiempo.

CurrentTimeInvalidated

Tiene lugar cuando se actualiza la propiedad CurrentTime del Clock de la escala de tiempo.

RemoveRequested

Se produce cuando se quita el reloj creado para esta escala de tiempo o una de sus escalas de tiempo primarias.

Se aplica a

Consulte también