HandoffBehavior Enumeração
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.
Especifica como novas animações interagem com as existentes já aplicadas a uma propriedade.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Herança
Campos
Compose | 1 | Novas animações são combinadas com animações existentes acrescentando novas animações no final da cadeia de composição. |
SnapshotAndReplace | 0 | Novas animações substituem todas as animações existentes nas propriedades às quais elas são aplicadas. |
Comentários
Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando Compose, todos Clock os objetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de tempo não removerá os relógios automaticamente.
Para evitar problemas de desempenho ao aplicar um grande número de relógios usando Redigir, remova os relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras de 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 retorna
null
. Observe também que o Completed evento não será gerado se a duração efetiva do relógio for para sempre. Nesse caso, o usuário deve 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 Visão geral do sistema de animação e temporização.