HandoffBehavior Enumeração
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.
Especifica como as novas animações interagem com quaisquer que já estejam aplicadas a uma propriedade.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Herança
Campos
| Name | Valor | Description |
|---|---|---|
| SnapshotAndReplace | 0 | Novas animações substituem quaisquer animações existentes nas propriedades a que são aplicadas. |
| Compose | 1 | As novas animações são combinadas com as existentes, adicionando as novas animações ao final da cadeia de composição. |
Observações
Quando aplica um Storyboard, , ou AnimationTimeline a uma propriedade usando o Compose, quaisquer AnimationClock objetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de temporização não remove automaticamente Clockos relógios.
Para evitar problemas de desempenho ao aplicar um grande número de relógios usando o Compose, deve remover os relógios de composição da propriedade animada depois de terminarem. Existem várias formas 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 os relógios raiz podem ser controlados por um ClockController; a Controller propriedade de um relógio filho devolve
null. Note também que o Completed evento não será elevado se a duração efetiva do relógio for indefinida. Nesse caso, o utilizador deve 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 obter mais informações sobre objetos de relógio, consulte Visão geral do sistema de animação e cronometragem.