Partilhar 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. Ele fornece propriedades que permitem que você especifique o comprimento desse segmento, quando ele deve ser iniciado, quantas vezes ele será repetido, quão rápido o tempo progride nesse segmento e muito mais.

Classes que herdam da classe de linha do tempo fornecem funcionalidade adicional, 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 a 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: A Storyboard é um tipo especial 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 a Visão geral da animação. Para obter uma introdução aos recursos de tempo das linhas do tempo, consulte a visão geral dos comportamentos de tempo.

Linhas do tempo de vinculaçã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 direcionadas. Se uma linha do tempo fosse vinculada a dados ou animada, um instantâneo de seus valores atuais foi feito quando seu relógio foi criado. Mesmo que a linha do tempo original possa continuar a mudar, seu relógio não muda.

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ê. Veja a seguir várias maneiras de aplicar alterações na linha do tempo:

  • Se a linha do tempo for de um Storyboard ou pertencer a ele, você poderá fazer com que ela reflita as alterações reaplicando o storyboard dela através do uso de um BeginStoryboard ou do método Begin. Isso tem o efeito colateral de também reiniciar a animação. No código, você pode usar o método Seek 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 uma animação associada a dados, consulte o exemplo de animação de spline de chave .

Usando uma linha do tempo como um 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 temporizador.

Construtores

Nome Description
Timeline()

Inicializa uma nova instância da classe Timeline.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

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

Timeline(Nullable<TimeSpan>, Duration)

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

Timeline(Nullable<TimeSpan>)

Inicializa uma nova instância da Timeline classe com a especificada BeginTime.

Campos

Nome Description
AccelerationRatioProperty

Identifica a AccelerationRatio propriedade de dependência.

AutoReverseProperty

Identifica a AutoReverse propriedade de dependência.

BeginTimeProperty

Identifica a BeginTime propriedade de dependência.

DecelerationRatioProperty

Identifica a DecelerationRatio propriedade de dependência.

DesiredFrameRateProperty

Identifica a DesiredFrameRate propriedade anexada.

DurationProperty

Identifica a Duration propriedade de dependência.

FillBehaviorProperty

Identifica a FillBehavior propriedade de dependência.

NameProperty

Identifica a Name propriedade de dependência.

RepeatBehaviorProperty

Identifica a RepeatBehavior propriedade de dependência.

SpeedRatioProperty

Identifica a SpeedRatio propriedade de dependência.

Propriedades

Nome Description
AccelerationRatio

Obtém ou define um valor que especifica a porcentagem dos gastos da linha do Duration tempo acelerando a passagem do tempo de zero para sua taxa máxima.

AutoReverse

Obtém ou define um valor que indica se a linha do tempo é reproduzida ao contrário depois de concluir uma iteração para frente.

BeginTime

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

CanFreeze

Obtém um valor que indica se o objeto pode ser tornado inmodificável.

(Herdado de Freezable)
DecelerationRatio

Obtém ou define um valor que especifica o percentual dos gastos da linha do Duration tempo desacelerando a passagem do tempo de sua taxa máxima para zero.

DependencyObjectType

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

(Herdado de DependencyObject)
Dispatcher

Obtém o Dispatcher que DispatcherObject está associado.

(Herdado de DispatcherObject)
Duration

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

FillBehavior

Obtém ou define um valor que especifica como o Timeline comportamento ocorre após atingir o final de seu período ativo.

HasAnimatedProperties

Obtém um valor que indica se um ou mais AnimationClock objetos estão associados a qualquer uma das propriedades de dependência desse objeto.

(Herdado de Animatable)
IsFrozen

Obtém um valor que indica se o objeto é modificável no momento.

(Herdado de Freezable)
IsSealed

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

(Herdado de DependencyObject)
Name

Obtém ou define o nome deste Timeline.

RepeatBehavior

Obtém ou define o comportamento recorrente dessa linha do tempo.

SpeedRatio

Obtém ou define a taxa, relativa ao seu pai, em que o tempo progride para isso Timeline.

Propriedades Anexadas

Nome Description
DesiredFrameRate

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

Métodos

Nome Description
AllocateClock()

Cria um Clock para isso Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Aplica-se a AnimationClockum DependencyProperty . Se a propriedade já estiver animada, a especificada HandoffBehavior será usada.

(Herdado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica-se a AnimationClockum DependencyProperty . Se a propriedade já estiver animada, o SnapshotAndReplace comportamento de entrega será usado.

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

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

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

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

(Herdado de Animatable)
CheckAccess()

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

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

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

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

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

(Herdado de DependencyObject)
Clone()

Cria um clone modificável disso Timeline, fazendo cópias profundas dos valores desse objeto.

CloneCore(Freezable)

Torna a instância um clone (cópia profunda) dos valores de propriedade base (não animados) especificados Freezable .

(Herdado de Freezable)
CloneCurrentValue()

Cria um clone modificável desse Timeline objeto, fazendo cópias profundas dos valores atuais desse objeto.

CloneCurrentValueCore(Freezable)

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

(Herdado de Freezable)
CoerceValue(DependencyProperty)

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

(Herdado de DependencyObject)
CreateClock()

Cria um novo controle a Clock partir disso Timeline. Se isso Timeline tiver filhos, uma árvore de relógios será criada com isso Timeline como a raiz.

CreateClock(Boolean)

Cria um novo Clock a partir disso Timeline e especifica se o novo Clock é controlável. Se isso Timeline tiver filhos, uma árvore de relógios será criada com isso 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 Freezable classe derivada.

(Herdado de Freezable)
Equals(Object)

Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual inmodificável e define sua IsFrozen propriedade como true.

(Herdado de Freezable)
FreezeCore(Boolean)

Torna isso Timeline inmodificável ou determina se ele pode ser tornado inmodificável.

GetAnimationBaseValue(DependencyProperty)

Retorna o valor não animado do especificado DependencyProperty.

(Herdado de Animatable)
GetAsFrozen()

Cria uma cópia congelada dos valores de Freezablepropriedade base (não animados). Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

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

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable uso de valores de propriedade atuais. Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Torna essa instância um clone congelado do especificado Timeline. Referências de recursos, associaçõ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 do especificado Timeline.

GetHashCode()

Obtém um código hash para isso DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

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

(Herdado de DependencyObject)
GetNaturalDuration(Clock)

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

GetNaturalDurationCore(Clock)

Retorna o comprimento de uma única iteração deste 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 nesta instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo da propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnChanged()

Chamado quando o objeto atual Freezable é modificado.

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

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

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

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

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

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

(Herdado de DependencyObject)
ReadPreamble()

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

(Herdado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Define o valor de uma propriedade de dependência sem alterar sua fonte de valor.

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

Define a taxa de quadros desejada do especificado Timeline.

SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador 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 isso DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Aciona o Changed evento para o Freezable método e invoca seu OnChanged() método. Classes das quais derivam Freezable devem chamar esse método no final de qualquer API que modifique os membros da 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 se ele está sendo acessado de um contexto de threading válido. Freezable os herdadores 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

Nome Description
Changed

Ocorre quando o objeto ou um Freezable objeto que ele contém é modificado.

(Herdado de Freezable)
Completed

Ocorre quando essa linha do tempo terminar completamente de ser reproduzida: ela não entrará mais em seu período ativo.

CurrentGlobalSpeedInvalidated

Ocorre quando a taxa em que o tempo progride para o relógio da linha do tempo é alterada.

CurrentStateInvalidated

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

CurrentTimeInvalidated

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

RemoveRequested

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

Aplica-se a

Confira também