BeginStoryboard.HandoffBehavior Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el comportamiento de entrega apropiado para iniciar un reloj de animación en este guion gráfico.
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 de propiedad
Uno de los valores de enumeración de HandoffBehavior. El valor predeterminado es SnapshotAndReplace.
Comentarios
Uso de Compose HandoffBehavior
Cuando se aplica un Storyboard, AnimationTimelineo AnimationClock a una propiedad mediante HandoffBehavior.Compose, los Clock objetos asociados previamente a esa propiedad siguen usando recursos del sistema; el sistema de control de tiempo no quita estos relojes automáticamente.
Para evitar problemas de rendimiento cuando aplique muchos relojes mediante Compose, debe quitar los relojes de composición de la propiedad animada cuando se hayan completado. Hay varias maneras de quitar un reloj:
Para quitar todos los relojes de una propiedad, utilice el método ApplyAnimationClock(DependencyProperty, AnimationClock) o BeginAnimation(DependencyProperty, AnimationTimeline) del objeto animado. Especifique la propiedad que se va a animar como primer parámetro y
null
como segundo parámetro. De este modo, se quitarán todos los relojes de animación de la propiedad.Para quitar un elemento específico AnimationClock de una lista de relojes, use la propiedad Controller de AnimationClock para recuperar un objeto ClockController y, a continuación, llame al método Remove de ClockController. Normalmente esta operación se realiza en el controlador de eventos Completed de un reloj. Tenga en cuenta que solo los relojes raíz se pueden controlar mediante ; ClockControllerla Controller propiedad de un reloj secundario devuelve
null
. Tenga en cuenta también que no se llama al Completed evento si la duración efectiva del reloj es para siempre. En ese caso, el usuario debe determinar cuándo llamar Removea .
Este problema se produce principalmente en las animaciones de objetos que tienen un período de duración prolongado. Cuando se recopila un objeto no utilizado, sus relojes también se desconectan y se recopilan elementos no utilizados.
Para obtener más información acerca de los objetos de reloj, consulte Información general sobre sistemas de control de tiempo y animación.