Comparteix a través de


FrameworkElement.BeginStoryboard Método

Definición

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.

Ejemplos

En el ejemplo siguiente se recupera un Storyboard de recursos y, a continuación, se ejecuta ese Storyboard cuando se controla una clase de evento interno.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

Comentarios

La mayoría de los escenarios de animación típicos no usan este método. Normalmente, se crea el elemento Storyboard o BeginStoryboard en el marcado y, a continuación, se colocan como el contenido de EventTrigger en un elemento. Cuando el evento lo desencadena, se ejecuta la animación. La mayoría de los aspectos de control de un Storyboard se pueden abordar mediante propiedades que se exponen en el marcado.

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 la animación alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Controlar una animación también requiere que el guión gráfico tenga un directiva x:Name o sea accesible por referencia 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.

Ejemplos

En el ejemplo siguiente se recupera un Storyboard de recursos y, a continuación, se ejecuta ese Storyboard cuando se controla una clase de evento interno.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

Comentarios

La mayoría de los escenarios de animación típicos no usan este método. Normalmente, se crea el elemento Storyboard o BeginStoryboard en el marcado y, a continuación, se colocan como el contenido de EventTrigger en un elemento. Cuando el evento lo desencadena, se ejecuta la animación. La mayoría de los aspectos de control de un Storyboard se pueden abordar mediante propiedades que se exponen en el marcado.

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 la animación alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Controlar una animación también requiere que el guión gráfico tenga un directiva x:Name o sea accesible por referencia en el código.

El comportamiento de entrega se puede especificar como un atributo de BeginStoryboard.

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:

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

La mayoría de los escenarios de animación típicos no usan este método. Normalmente, se crea el elemento Storyboard o BeginStoryboard en el marcado y, a continuación, se colocan como el contenido de EventTrigger en un elemento. Cuando el evento lo desencadena, se ejecuta la animación. La mayoría de los aspectos de control de un Storyboard se pueden abordar mediante propiedades que se exponen en el marcado.

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 la animación alcanza el período "Fill". Por lo tanto, la animación no se puede reiniciar después de ejecutarse una vez. Controlar una animación también requiere que el guión gráfico tenga un directiva x:Name o sea accesible por referencia en el código.

El comportamiento de entrega se puede especificar como un atributo de BeginStoryboard.

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:

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