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í.
Comienza la secuencia de acciones contenidas en el guión gráfico proporcionado.
Sobrecargas
BeginStoryboard(Storyboard) |
Comienza 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 debe 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 después de iniciarse. |
BeginStoryboard(Storyboard)
Comienza 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 comenzar.
Comentarios
Para las firmas que no usan el isControllable
, parámetro o cuando se especifica ese parámetro false
, los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, no se puede reiniciar la animación 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 debe 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 comenzar.
- handoffBehavior
- HandoffBehavior
Valor de la enumeración que describe el comportamiento que se va a usar si una propiedad descrita en el guión gráfico ya está animada.
Comentarios
Para las firmas que no usan el isControllable
, parámetro o cuando se especifica ese parámetro false
, los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, no se puede reiniciar la animación 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 el ComposeHandoffBehavior, los objetos Clock asociados previamente a esa propiedad siguen 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 la composición de los relojes de la propiedad animada después de que se completen. 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 quita 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 devuelve
null
. Tenga en cuenta también que el evento Completed no se genera si la duración efectiva del reloj es indefinida. En ese caso, el usuario debe determinar cuándo llamar a Remove.
Esto es principalmente un problema para animaciones en objetos que tienen una larga duración. Cuando se recopila un objeto, sus relojes también se desconectan y se recopilan elementos no utilizados.
Para obtener más información sobre los objetos de reloj, vea Animation and Timing System Overview.
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 después de iniciarse.
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 comenzar.
- handoffBehavior
- HandoffBehavior
Valor de la enumeración que describe el comportamiento que se va a usar si una propiedad descrita en el guión gráfico ya está animada.
- isControllable
- Boolean
Declara si la animación es controlable (se puede pausar) después de iniciarse.
Comentarios
Para las firmas que no usan el isControllable
, parámetro o cuando se especifica ese parámetro false
, los relojes de escala de tiempo asociados a la animación se quitan en cuanto alcanza el período "Fill". Por lo tanto, no se puede reiniciar la animación 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 el ComposeHandoffBehavior, los objetos Clock asociados previamente a esa propiedad siguen usando los 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 la composición de los relojes de la propiedad animada después de que se completen. 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 quita 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 devuelve
null
. Tenga en cuenta también que el evento Completed no se genera si la duración efectiva del reloj es indefinida. En ese caso, el usuario debe determinar cuándo llamar a Remove.
Esto es principalmente un problema para animaciones en objetos que tienen una larga duración. Cuando se recopila un objeto, sus relojes también se desconectan y se recopilan elementos no utilizados.
Para obtener más información sobre los objetos de reloj, vea Animation and Timing System Overview.