Compartilhar via


Timeline Classe

Definição

Define um segmento de 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
Herança
Derivado
Atributos

Comentários

Uma linha do tempo representa um segmento de tempo. Ela fornece propriedades que permitem que você especifique o comprimento desse segmento, quando ele deve ser iniciado, quantas vezes ele se repetirá, quão rápido o tempo progride nesse segmento e muito mais.

As classes que herdam da classe linha do tempo fornecem funcionalidades adicionais, como animação e reprodução de mídia. Veja a seguir exemplos de alguns dos diferentes tipos de linhas do tempo especializadas disponíveis.

  • Animações: um AnimationTimeline é um tipo de linha do tempo que produz valores de saída. Quando você associa uma animação a uma propriedade, a animação atualiza o valor da propriedade à medida que ela é reproduzida, "animando". Para obter uma introdução às animações, consulte Visão geral da animação. Para obter informações sobre as diferentes maneiras de aplicar animações, consulte Visão geral das técnicas de animação de propriedade.

  • MediaTimelines: A MediaTimeline é um tipo de linha do tempo que controla a reprodução de um arquivo de mídia.

  • ParallelTimelines: A ParallelTimeline é um tipo de linha do tempo que agrupa outras linhas do tempo.

  • Storyboards: um Storyboard é um tipo especial de que fornece informações de direcionamento de ParallelTimeline objeto e propriedade para as linhas do tempo que ele contém. Para obter mais informações sobre Storyboard objetos, consulte a Visão geral de Storyboards.

Para obter mais informações sobre como usar linhas do tempo, consulte Visão geral da animação. Para obter uma introdução aos recursos de tempo das linhas do tempo, consulte Visão geral dos comportamentos de tempo.

Linhas do tempo de associação e animação de dados

A maioria das propriedades da linha do tempo pode ser associada a dados ou animada; no entanto, devido à maneira como o sistema de tempo funciona, as linhas do tempo vinculadas a dados ou animadas não se comportam como outros objetos animados ou associados a dados. Para entender seu comportamento, ajuda a entender o que significa ativar uma linha do tempo.

Quando uma linha do tempo é aplicada, as cópias são feitas da linha do tempo e de suas linhas do tempo filho. Essas cópias são congeladas (feitas somente leitura) e Clock os objetos são criados a partir delas. São esses relógios que fazem o trabalho real de animar as propriedades de destino. Se uma linha do tempo tiver sido associada a dados ou animada, um instantâneo de seus valores atuais foi feito quando seu relógio foi criado. Embora a linha do tempo original possa continuar a mudar, seu relógio não.

Para que uma linha do tempo reflita as alterações de associação de dados ou animação, seu relógio deve ser regenerado. Os relógios não são regenerados automaticamente para você. A seguir estão várias maneiras para aplicar alterações de linha do tempo:

  • Se a linha do tempo for ou pertencer a um Storyboard, você poderá fazer com que ela reflita as alterações reaplicando seu storyboard usando um BeginStoryboard ou o Begin método . Isso tem o efeito colateral de também reiniciar a animação. No código, você pode usar o Seek método para avançar o storyboard de volta para sua posição anterior.

  • Se você aplicou uma animação diretamente a uma propriedade usando o BeginAnimation método , chame o BeginAnimation método novamente e passe a animação que foi modificada.

  • Se você estiver trabalhando diretamente no nível do relógio, crie e aplique um novo conjunto de relógios e use-os para substituir o conjunto anterior de relógios gerados.

Para obter um exemplo de animação associada a dados, consulte o exemplo de animação de spline de chave .

Usando uma linha do tempo como temporizador

O relógio de uma linha do tempo só progredirá quando houver um manipulador de eventos associado a ele ou (no caso de um AnimationClock objeto) ele estiver associado a uma propriedade. Por esse motivo (e outros), não é recomendável que você use um Timeline como temporizador.

Construtores

Timeline()

Inicializa uma nova instância da classe Timeline.

Timeline(Nullable<TimeSpan>)

Inicializa uma nova instância da classe Timeline com o BeginTime especificado.

Timeline(Nullable<TimeSpan>, Duration)

Inicializa uma nova instância da classe Timeline com o BeginTime e Duration especificados.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Inicializa uma nova instância da classe Timeline com o BeginTime, Duration e RepeatBehavior especificados.

Campos

AccelerationRatioProperty

Identifica a propriedade de dependência AccelerationRatio.

AutoReverseProperty

Identifica a propriedade de dependência AutoReverse.

BeginTimeProperty

Identifica a propriedade de dependência BeginTime.

DecelerationRatioProperty

Identifica a propriedade de dependência de DecelerationRatio.

DesiredFrameRateProperty

Identifica a propriedade DesiredFrameRate anexada.

DurationProperty

Identifica a propriedade de dependência Duration.

FillBehaviorProperty

Identifica a propriedade de dependência FillBehavior.

NameProperty

Identifica a propriedade de dependência Name.

RepeatBehaviorProperty

Identifica a propriedade de dependência RepeatBehavior.

SpeedRatioProperty

Identifica a propriedade de dependência de SpeedRatio.

Propriedades

AccelerationRatio

Obtém ou define um valor que especifica o percentual do Duration da linha do tempo gasto que acelera a passagem de tempo de zero até sua taxa máxima.

AutoReverse

Obtém ou define um valor que indica se a linha do tempo é executada em ordem inversa após concluir uma iteração na ordem comum.

BeginTime

Obtém ou define a hora em que esse Timeline deve começar.

CanFreeze

Obtém um valor que indica se o objeto pode se tornar não modificável.

(Herdado de Freezable)
DecelerationRatio

Obtém ou define um valor que especifica o percentual do Duration da linha do tempo gasto que desacelera a passagem de tempo de sua taxa máxima até zero.

DependencyObjectType

Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância.

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

(Herdado de DispatcherObject)
Duration

Obtém ou define o período para o qual essa linha do tempo é reproduzida, sem contar repetições.

FillBehavior

Obtém ou define um valor que especifica como a Timeline se comporta depois que atinge o final do seu período ativo.

HasAnimatedProperties

Obtém um valor que indica se um ou mais objetos AnimationClock está associado a qualquer uma das propriedades de dependência do objeto.

(Herdado de Animatable)
IsFrozen

Obtém um valor que indica se o objeto pode ser modificado no momento.

(Herdado de Freezable)
IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).

(Herdado de DependencyObject)
Name

Obtém ou define o nome deste Timeline.

RepeatBehavior

Obtém ou define o comportamento de repetição desta linha do tempo.

SpeedRatio

Obtém ou define a taxa, em relação ao pai, na qual o tempo progride para isso Timeline.

Propriedades Anexadas

DesiredFrameRate

Obtém ou define a taxa de quadros desejada para esta linha do tempo e suas linhas do tempo filhas.

Métodos

AllocateClock()

Cria um Clock para este Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

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

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especificada já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

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

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especifica já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um identificador DependencyProperty.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser limpa é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável desse Timeline, fazendo cópias em profundidade dos valores do objeto.

CloneCore(Freezable)

Faz com que a instância seja um clone (cópia em profundidade) do Freezable especificado usando valores de propriedade base (não animados).

(Herdado de Freezable)
CloneCurrentValue()

Cria um clone modificável desse objeto Timeline, fazendo cópias em profundidade dos valores do objeto atual.

CloneCurrentValueCore(Freezable)

Torna a instância um clone modificável (cópia em profundidade) do Freezable especificado usando os valores de propriedade atuais.

(Herdado de Freezable)
CoerceValue(DependencyProperty)

Converte o valor da propriedade de dependência especificada. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.

(Herdado de DependencyObject)
CreateClock()

Cria um novo Clock controlável desta Timeline. Se esta Timeline tiver filhas, uma árvore de relógios será criada com esta Timeline como a raiz.

CreateClock(Boolean)

Cria um novo Clock desta Timeline e especifica se o novo Clock é controlável. Se esta Timeline tiver filhas, uma árvore de relógios será criada com esta Timeline como a raiz.

CreateInstance()

Inicializa uma nova instância da classe Freezable.

(Herdado de Freezable)
CreateInstanceCore()

Quando implementado em uma classe derivada, cria uma nova instância da classe derivada Freezable.

(Herdado de Freezable)
Equals(Object)

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual não modificável e define sua propriedade IsFrozen para true.

(Herdado de Freezable)
FreezeCore(Boolean)

Altera esta Timeline para não modificável ou determina se ela pode ser alterada para não modificável.

GetAnimationBaseValue(DependencyProperty)

Retorna o valor não animado do DependencyProperty especificado.

(Herdado de Animatable)
GetAsFrozen()

Cria uma cópia congelada o Freezable usando valores de propriedade base (não animadas). Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

Torna essa instância um clone do objeto Timeline especificado.

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando valores de propriedade atuais. Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Torna essa instância um clone congelado do Timeline especificado. Referências a recursos, vinculações de dados e animações não são copiadas, mas seus valores atuais são.

GetDesiredFrameRate(Timeline)

Obtém a taxa de quadros desejada da Timeline especificada.

GetHashCode()

Obtém o código hash para esse DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.

(Herdado de DependencyObject)
GetNaturalDuration(Clock)

Retorna o comprimento de uma única iteração desta Timeline.

GetNaturalDurationCore(Clock)

Retorna o comprimento de uma única iteração desta Timeline. Esse método fornece a implementação para GetNaturalDuration(Clock).

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência nessa instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo para a propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnChanged()

Chamado quando o objeto Freezable atual é modificado.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um membro de dados DependencyObjectType que foi recém-definido.

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

Esse membro dá suporte à infraestrutura do WPF (Windows Presentation Foundation) e não se destina a ser usado diretamente do seu código.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitui a implementação DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer manipuladores Changed em resposta à alteração de uma propriedade de dependência do tipo Freezable.

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, local, se houver.

(Herdado de DependencyObject)
ReadPreamble()

Garante que o Freezable esteja sendo acessado de um thread válido. Herdeiros do Freezable devem chamar esse método no início de qualquer API que lê membros de dados que não são propriedades de dependência.

(Herdado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Define o valor da propriedade de dependência sem alterar a origem do valor.

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

Define a taxa de quadros desejada do Timeline especificado.

SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.

(Herdado de DependencyObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Aciona o evento Changed para o Freezable e invoca o respectivo método OnChanged(). Classes que derivam de Freezable devem chamar este método no final de qualquer API que modifica os membros de classe que não são armazenados como propriedades de dependência.

(Herdado de Freezable)
WritePreamble()

Verifica se o Freezable não está congelado e está sendo acessado de um contexto de threading válido. Herdeiros do Freezable devem chamar esse método no início de qualquer API que grava em membros de dados que não são propriedades de dependência.

(Herdado de Freezable)

Eventos

Changed

Ocorre quando o Freezable ou um objeto nele contido é modificado.

(Herdado de Freezable)
Completed

Ocorre quando essa linha do tempo concluiu a reprodução completamente: ela não inserirá seu período ativo.

CurrentGlobalSpeedInvalidated

Ocorre quando há alteração na taxa em que o tempo do relógio da linha do tempo progride.

CurrentStateInvalidated

Ocorre quando a propriedade CurrentState do Clock da linha do tempo é atualizada.

CurrentTimeInvalidated

Ocorre quando a propriedade CurrentTime do Clock da linha do tempo é atualizada.

RemoveRequested

Ocorre quando o relógio criado para essa linha do tempo ou para uma de suas linhas do tempo pais é removido.

Aplica-se a

Confira também