FrameworkElement.BeginStoryboard Método

Definição

Inicia a sequência de ações contidas no storyboard fornecido.

Sobrecargas

BeginStoryboard(Storyboard)

Inicia a sequência de ações que estão contidas no storyboard fornecido.

BeginStoryboard(Storyboard, HandoffBehavior)

Inicia a sequência de ações contida no storyboard fornecido, com opções especificadas para o que acontece se a propriedade já for animada.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Inicia a sequência de ações contidas no storyboard fornecido, com o estado especificado para o controle da animação depois que ela é iniciada.

BeginStoryboard(Storyboard)

Inicia a sequência de ações que estão contidas no storyboard fornecido.

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

O storyboard a ser iniciado.

Exemplos

O exemplo a seguir recupera um Storyboard de recursos e, em seguida, executa quando Storyboard um evento interno é tratado de classe.

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

Comentários

A maioria dos cenários de animação típicos não usa esse método. Normalmente, você cria o Storyboard elemento ou BeginStoryboard na marcação e os coloca como o EventTrigger conteúdo em um elemento. Quando disparada pelo evento, a animação é executada. A maioria dos aspectos de controle de um Storyboard pode ser abordada por propriedades expostas na marcação.

Para as assinaturas que não usam o isControllableparâmetro , ou quando esse parâmetro é especificadofalse, os relógios linha do tempo associados à animação são removidos assim que a animação atinge o período "Preenchimento". Portanto, a animação não pode ser reiniciada após a execução uma vez. Controlar uma animação também requer que o storyboard tenha uma Diretiva x:Name ou seja acessível por referência no código.

Aplica-se a

BeginStoryboard(Storyboard, HandoffBehavior)

Inicia a sequência de ações contida no storyboard fornecido, com opções especificadas para o que acontece se a propriedade já for 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

O storyboard a ser iniciado.

handoffBehavior
HandoffBehavior

Um valor de enumeração que descreve o comportamento a ser usado se uma propriedade descrita no storyboard já for animada.

Exemplos

O exemplo a seguir recupera um Storyboard de recursos e, em seguida, executa quando Storyboard um evento interno é tratado de classe.

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

Comentários

A maioria dos cenários de animação típicos não usa esse método. Normalmente, você cria o Storyboard elemento ou BeginStoryboard na marcação e os coloca como o EventTrigger conteúdo em um elemento. Quando disparada pelo evento, a animação é executada. A maioria dos aspectos de controle de um Storyboard pode ser abordada por propriedades expostas na marcação.

Para as assinaturas que não usam o isControllableparâmetro , ou quando esse parâmetro é especificadofalse, os relógios linha do tempo associados à animação são removidos assim que a animação atinge o período "Preenchimento". Portanto, a animação não pode ser reiniciada após a execução uma vez. Controlar uma animação também requer que o storyboard tenha uma Diretiva x:Name ou seja acessível por referência no código.

O comportamento de entrega pode ser especificado como um atributo de BeginStoryboard.

Usando o HandoffBehavior de composição

Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando o , todos Clock os ComposeHandoffBehaviorobjetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de tempo não remove os relógios automaticamente.

Para evitar problemas de desempenho ao aplicar um grande número de relógios usando Compose, você deve remover relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras de remover um relógio:

Isso é basicamente um problema para animações em objetos que têm um longo tempo de vida. Quando um objeto é coletado, seus relógios também são desconectados e o lixo é coletado.

Para obter mais informações sobre objetos de relógio, consulte Visão geral do sistema de animação e tempo.

Aplica-se a

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Inicia a sequência de ações contidas no storyboard fornecido, com o estado especificado para o controle da animação depois que ela é iniciada.

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

O storyboard a ser iniciado.

handoffBehavior
HandoffBehavior

Um valor de enumeração que descreve o comportamento a ser usado se uma propriedade descrita no storyboard já for animada.

isControllable
Boolean

Declara se a animação é controlável (pode estar em pausa) depois que ela é iniciada.

Comentários

A maioria dos cenários de animação típicos não usa esse método. Normalmente, você cria o Storyboard elemento ou BeginStoryboard na marcação e os coloca como o EventTrigger conteúdo em um elemento. Quando disparada pelo evento, a animação é executada. A maioria dos aspectos de controle de um Storyboard pode ser abordada por propriedades expostas na marcação.

Para as assinaturas que não usam o isControllableparâmetro , ou quando esse parâmetro é especificadofalse, os relógios linha do tempo associados à animação são removidos assim que a animação atinge o período "Preenchimento". Portanto, a animação não pode ser reiniciada após a execução uma vez. Controlar uma animação também requer que o storyboard tenha uma Diretiva x:Name ou seja acessível por referência no código.

O comportamento de entrega pode ser especificado como um atributo de BeginStoryboard.

Usando o HandoffBehavior de composição

Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando o , todos Clock os ComposeHandoffBehaviorobjetos anteriormente associados a essa propriedade continuam a consumir recursos do sistema; o sistema de tempo não remove os relógios automaticamente.

Para evitar problemas de desempenho ao aplicar um grande número de relógios usando Compose, você deve remover relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras de remover um relógio:

Isso é basicamente um problema para animações em objetos que têm um longo tempo de vida. Quando um objeto é coletado, seus relógios também são desconectados e o lixo é coletado.

Para obter mais informações sobre objetos de relógio, consulte Visão geral do sistema de animação e tempo.

Aplica-se a