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 as novas animações interagem com as existentes que já são aplicadas a uma propriedade.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Herança
Campos
| Nome | Valor | Description |
|---|---|---|
| SnapshotAndReplace | 0 | As novas animações substituem as animações existentes nas propriedades às quais elas são aplicadas. |
| Compose | 1 | Novas animações são combinadas com animações existentes acrescentando as novas animações ao final da cadeia de composição. |
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 o Compose, você deve remover 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 método ou BeginAnimation(DependencyProperty, AnimationTimeline) o ApplyAnimationClock(DependencyProperty, AnimationClock) método do objeto animado. Especifique a propriedade que está sendo animada como o primeiro parâmetro e
nullcomo 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.
Esse é um problema principalmente para animações em objetos que têm um longo tempo de vida. Quando um objeto é coletado, seus relógios também serão desconectados e o lixo coletado.
Para obter mais informações sobre objetos de relógio, consulte Visão geral do sistema de animação e temporização.