BeginStoryboard.HandoffBehavior Propriedade
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.
Obtém ou define o comportamento de entrega apropriado para iniciar um relógio de animação nesse storyboard.
public:
property System::Windows::Media::Animation::HandoffBehavior HandoffBehavior { System::Windows::Media::Animation::HandoffBehavior get(); void set(System::Windows::Media::Animation::HandoffBehavior value); };
public System.Windows.Media.Animation.HandoffBehavior HandoffBehavior { get; set; }
member this.HandoffBehavior : System.Windows.Media.Animation.HandoffBehavior with get, set
Public Property HandoffBehavior As HandoffBehavior
Valor da propriedade
Um dos valores de enumeração HandoffBehavior. O valor padrão é SnapshotAndReplace.
Comentários
Usando o HandoffBehavior de composição
Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando HandoffBehavior.Compose, todos Clock os objetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de tempo não remove 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 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á chamado 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 é coletado como lixo, seus relógios também sã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.