HandoffBehavior Enumeración
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í.
Especifica cómo las animaciones nuevas interactúan con otras existentes que ya se han aplicado a una propiedad.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Herencia
Campos
Compose | 1 | Las animaciones nuevas se combinan con las animaciones existentes anexándolas al final de la cadena de composición. |
SnapshotAndReplace | 0 | Las animaciones nuevas reemplazan a las animaciones existentes en las propiedades que se aplican. |
Comentarios
Cuando se aplica una Storyboardpropiedad , AnimationTimelineo AnimationClock a una propiedad mediante Compose, los Clock objetos asociados previamente a esa propiedad siguen usando recursos del sistema; el sistema de control de tiempo no quitará automáticamente los relojes.
Para evitar problemas de rendimiento al aplicar un gran número de relojes mediante Compose, debe quitar los relojes de redacción de la propiedad animada una vez completadas. 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 el Completed evento no se generará si la duración efectiva del reloj es indefinida. 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 un objeto se recolecta como elemento no utilizado, sus relojes también se desconectan y se recolectan como 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.