Animatable.ApplyAnimationClock Método
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í.
Anima el DependencyProperty especificado mediante el AnimationClockespecificado.
Sobrecargas
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Aplica un AnimationClock al DependencyPropertyespecificado. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Aplica un AnimationClock al DependencyPropertyespecificado. Si la propiedad ya está animada, se usa el HandoffBehavior especificado. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Aplica un AnimationClock al DependencyPropertyespecificado. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
Parámetros
Propiedad que se va a animar.
- clock
- AnimationClock
Reloj con el que se va a animar la propiedad especificada. Si clock
es null
, todas las animaciones se quitarán de la propiedad especificada (pero no se detendrán).
Implementaciones
Comentarios
Tenga en cuenta que el uso de este método para quitar relojes de una propiedad no detiene esos relojes.
Se aplica a
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Aplica un AnimationClock al DependencyPropertyespecificado. Si la propiedad ya está animada, se usa el HandoffBehavior especificado.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
Parámetros
Propiedad que se va a animar.
- clock
- AnimationClock
Reloj con el que se va a animar la propiedad especificada. Si handoffBehavior
es SnapshotAndReplace y clock
es null
, todas las animaciones se quitarán de la propiedad especificada (pero no se detendrán). Si handoffBehavior
es Compose y el reloj es null
, este método no tiene ningún efecto.
- handoffBehavior
- HandoffBehavior
Valor que especifica cómo la nueva animación debe interactuar con cualquier animación actual que ya afecte al valor de propiedad.
Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo aplicar relojes de animación mediante diferentes configuraciones de HandoffBehavior.
Comentarios
Tenga en cuenta que el uso de este método para quitar relojes de una propiedad no detiene esos relojes.
Uso de Compose HandoffBehavior
Cuando se aplica un Storyboard, AnimationTimelineo AnimationClock a una propiedad mediante el ComposeHandoffBehavior, los objetos Clock asociados previamente a esa propiedad siguen usando recursos del sistema; el sistema de control de tiempo no quitará estos relojes automáticamente.
Para evitar problemas de rendimiento al aplicar un gran número de relojes mediante Compose, debe quitar la composición de los relojes de la propiedad animada después de completarlos. Hay varias maneras de quitar un reloj.
Para quitar todos los relojes de una propiedad, use el método ApplyAnimationClock(DependencyProperty, AnimationClock) o BeginAnimation(DependencyProperty, AnimationTimeline) del objeto animado. Especifique la propiedad que se está animando como primer parámetro y
null
como segundo. Esto quitará todos los relojes de animación de la propiedad .Para quitar un AnimationClock específico de una lista de relojes, use la propiedad Controller del AnimationClock para recuperar un ClockControllery, a continuación, llame al método Remove del ClockController. Normalmente, esto se hace en el controlador de eventos Completed para un reloj. Tenga en cuenta que solo un ClockControllerpuede controlar los relojes raíz; la propiedad Controller de un reloj secundario devolverá
null
. Tenga en cuenta también que no se llamará al evento Completed si la duración efectiva del reloj es indefinida. En ese caso, el usuario tendrá que determinar cuándo llamar a Remove.
Esto es principalmente un problema para animaciones en objetos que tienen una larga duración. Cuando se recolecte un objeto, sus relojes también se desconectarán y se recopilarán elementos no utilizados.
Para obtener más información sobre los objetos de reloj, vea la Animación e Información general del sistema de tiempo.