FrameworkContentElement.BeginStoryboard 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í.
Empieza la secuencia de acciones contenidas en el guión gráfico proporcionado.
Sobrecargas
BeginStoryboard(Storyboard) |
Empieza la secuencia de acciones contenidas en el guión gráfico proporcionado. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Comienza la secuencia de acciones contenidas en el guión gráfico proporcionado, con opciones especificadas para lo que debería ocurrir si la propiedad ya está animada. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Comienza la secuencia de acciones contenidas en el guión gráfico proporcionado, con el estado especificado para el control de la animación una vez iniciado. |
BeginStoryboard(Storyboard)
Empieza la secuencia de acciones contenidas en el guión gráfico proporcionado.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)
Parámetros
- storyboard
- Storyboard
Guión gráfico que se va a iniciar.
Comentarios
Para las firmas que no usan el isControllable
parámetro , o cuando se especifica false
ese parámetro , los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Tenga en cuenta que controlar una animación también requiere que el guión gráfico se llame o sea accesible como una instancia en el código.
Se aplica a
BeginStoryboard(Storyboard, HandoffBehavior)
Comienza la secuencia de acciones contenidas en el guión gráfico proporcionado, con opciones especificadas para lo que debería ocurrir si la propiedad ya está animada.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)
Parámetros
- storyboard
- Storyboard
Guión gráfico que se va a iniciar.
- handoffBehavior
- HandoffBehavior
Valor de la enumeración que describe el comportamiento que se va a usar si ya está animada una propiedad descrita en el guión gráfico.
Comentarios
Para las firmas que no usan el isControllable
parámetro , o cuando se especifica false
ese parámetro , los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Tenga en cuenta que controlar una animación también requiere que el guión gráfico se llame o sea accesible como una instancia en el código.
Uso de Compose HandoffBehavior
Cuando se aplica un Storyboard, AnimationTimelineo AnimationClock a una propiedad mediante ComposeHandoffBehavior, los Clock objetos asociados previamente a esa propiedad continúan usando los recursos del sistema; el sistema de control de tiempo no quita 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. Esto quita 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 genera 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, 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.
Se aplica a
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Comienza la secuencia de acciones contenidas en el guión gráfico proporcionado, con el estado especificado para el control de la animación una vez iniciado.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)
Parámetros
- storyboard
- Storyboard
Guión gráfico que se va a iniciar.
- handoffBehavior
- HandoffBehavior
Valor de la enumeración que describe el comportamiento que se va a usar si ya está animada una propiedad descrita en el guión gráfico.
- isControllable
- Boolean
Declara si la animación se puede controlar (se puede pausar) después de que se ha iniciado.
Comentarios
Para las firmas que no usan el isControllable
parámetro , o cuando se especifica false
ese parámetro , los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Tenga en cuenta que controlar una animación también requiere que el guión gráfico se llame o sea accesible como una instancia en el código.
Uso de Compose HandoffBehavior
Cuando se aplica un Storyboard, AnimationTimelineo AnimationClock a una propiedad mediante ComposeHandoffBehavior, los Clock objetos previamente asociados a esa propiedad continúan usando recursos del sistema; el sistema de control de tiempo no quita automáticamente estos 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. Esto quita 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 genera 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, 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.
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