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 objeto DependencyProperty con el objeto AnimationClock especificado.
Sobrecargas
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Se aplica AnimationClock al valor de DependencyProperty especificado. 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 animará la propiedad especificada. Si clock
es null
, se quitarán todas las animaciones 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)
Se aplica AnimationClock al valor de DependencyProperty especificado. Si la propiedad ya está animada, se usa el objeto 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 animará la propiedad especificada. Si handoffBehavior
es SnapshotAndReplace y clock
es null
, todas las animación 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 la interacción de la nueva animación con cualquier animación actual que ya afecte el valor de propiedad.
Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo aplicar relojes de animación mediante una configuración diferente 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 objeto Storyboard, AnimationTimeline o AnimationClock a una propiedad utilizando el valor Compose de HandoffBehavior, los objetos Clock asociados con anterioridad a esa propiedad siguen utilizando recursos del sistema; el sistema de control de tiempo no quitará 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 formas 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. Observe que solo ClockController puede controlar los relojes de raíz; la propiedad Controller de un reloj secundario devolverá
null
. Tenga en cuenta también que no se provocará el evento Completed si la duración real del reloj es para siempre. En ese caso, el usuario deberá determinar cuándo llamar a Remove.
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 sobre los objetos clock, vea Información general sobre el sistema de control de tiempo y animación.
Se aplica a
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de