Animatable.ApplyAnimationClock Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Desenha o DependencyProperty especificado usando o AnimationClock especificado.
Sobrecargas
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já for animada, o HandoffBehavior especificado será usado. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.
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 a ser animada.
- clock
- AnimationClock
O relógio com o qual animar a propriedade especificada. Se clock
for null
, todas as animações serão removidas da propriedade especificada (mas não paradas).
Implementações
Comentários
Observe que usar esse método para remover relógios de uma propriedade não interrompe esses relógios.
Aplica-se a
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já for animada, o HandoffBehavior especificado será usado.
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 a ser animada.
- clock
- AnimationClock
O relógio com o qual 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 o relógio for null
, esse método não terá nenhum efeito.
- handoffBehavior
- HandoffBehavior
Um valor que especifica como a nova animação deve interagir com qualquer animação atual que já afete o valor da propriedade.
Implementações
Exemplos
O exemplo a seguir mostra como aplicar relógios de animação usando configurações diferentes HandoffBehavior .
Comentários
Observe que usar esse método para remover relógios de uma propriedade não interrompe esses relógios.
Usando o HandoffBehavior de composição
Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando o , todos Clock os ComposeHandoffBehaviorobjetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de tempo não removerá esses relógios automaticamente.
Para evitar problemas de desempenho ao aplicar um grande número de relógios usando Compose, remova os relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras para remover um relógio.
Para remover todos os relógios de uma propriedade, use o ApplyAnimationClock(DependencyProperty, AnimationClock) método ou BeginAnimation(DependencyProperty, AnimationTimeline) do objeto animado. Especifique a propriedade que está sendo animada como o primeiro parâmetro e
null
como a segunda. 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. Normalmente, isso é feito no Completed manipulador de eventos para um relógio. Observe que somente os relógios raiz podem ser controlados por um ClockController; a Controller propriedade de um relógio filho retornará
null
. Observe também que o Completed evento não será chamado se a duração efetiva do relógio for para sempre. Nesse caso, o usuário precisará determinar quando chamar Remove.
Isso é basicamente um problema para animações em objetos que têm um longo tempo de vida. Quando um objeto passa pela coleta de lixo, seus relógios também serão desconectados e coletados como lixo.
Para obter mais informações sobre objetos de relógio, consulte a Visão geral do sistema de animação e temporização.
Aplica-se a
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de