Animatable.ApplyAnimationClock Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Anima o especificado DependencyProperty usando o especificado AnimationClock.
Sobrecargas
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se o SnapshotAndReplace comportamento de handoff. |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se a especificada HandoffBehavior . |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se o SnapshotAndReplace comportamento de handoff.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock(System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
Parâmetros
A propriedade de animar.
- clock
- AnimationClock
O relógio com que se deve animar a propriedade especificada. Se clock for null, todas as animações serão removidas da propriedade especificada (mas não paradas).
Implementações
Observações
Note que usar este método para remover relógios de uma propriedade não para esses relógios.
Aplica-se a
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se a especificada HandoffBehavior .
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock(System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
Parâmetros
A propriedade de animar.
- clock
- AnimationClock
O relógio com que se deve animar a propriedade especificada. Se handoffBehavior for SnapshotAndReplace e clock for null, todas as animações serão removidas da propriedade especificada (mas não paradas). Se handoffBehavior for Compose e relógio for null, este método não tem efeito.
- handoffBehavior
- HandoffBehavior
Um valor que especifica como a nova animação deve interagir com quaisquer animações atuais que já afetem o valor da propriedade.
Implementações
Exemplos
O exemplo seguinte mostra como aplicar relógios de animação usando diferentes HandoffBehavior definições.
Observações
Note que usar este método para remover relógios de uma propriedade não para esses relógios.
Usando o Compose HandoffBehavior
Quando você aplica um Storyboard, AnimationTimeline, ou AnimationClock a uma propriedade usando o ComposeHandoffBehavior, quaisquer Clock objetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema, o sistema de temporização não removerá esses relógios automaticamente.
Para evitar problemas de desempenho ao aplicar um grande número de relógios usando Composeo , você deve remover os relógios de composição da propriedade animada depois que eles forem concluídos. Existem várias maneiras de remover um relógio.
Para remover todos os relógios de uma propriedade, use o método ApplyAnimationClock(DependencyProperty, AnimationClock) ou BeginAnimation(DependencyProperty, AnimationTimeline) do objeto animado. Especifique a propriedade que está sendo animada como o primeiro parâmetro e
nullcomo o segundo. Isso removerá todos os relógios de animação da propriedade.Para remover um específico AnimationClock de uma lista de relógios, use a Controller propriedade do AnimationClock para recuperar um ClockControllere, em seguida, chame o Remove método do ClockController. Isso geralmente é feito no manipulador de eventos de um Completed relógio. Note que apenas relógios raiz podem ser controlados por um ClockController; a propriedade Controller de um relógio filho retornará
null. Observe também que o Completed evento não será chamado se a duração efetiva do temporizador for para sempre. Nesse caso, o usuário precisará determinar quando chamar Remove.
Isso é principalmente um problema para animações em objetos que têm uma longa vida útil. Quando um objeto é recolhido pelo coletor de lixo, os seus relógios também serão desconectados e recolhidos pelo coletor de lixo.
Para mais informações sobre objetos relógio, consulte a Visão Geral do Sistema de Animação e Temporização.