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 contidas no storyboard fornecido.

BeginStoryboard(Storyboard, HandoffBehavior)

Inicia a sequência de ações contidas no storyboard fornecido, com opções especificadas para o que deve acontecer se a propriedade já estiver 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 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 esse Storyboard quando 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 típicos de animação não usa esse método. Normalmente, você cria o elemento Storyboard ou BeginStoryboard na marcação e, em seguida, os coloca como o conteúdo EventTrigger em um elemento. Quando disparada pelo evento, a animação é executada. A maioria dos aspectos de controle de um Storyboard pode ser tratada por propriedades expostas na marcação.

Para as assinaturas que não usam o isControllable, parâmetro ou quando esse parâmetro é especificado false, os relógios da 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 depois de ser executada 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 contidas no storyboard fornecido, com opções especificadas para o que deve acontecer se a propriedade já estiver 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 da enumeração que descreve o comportamento a ser usado se uma propriedade descrita no storyboard já estiver animada.

Exemplos

O exemplo a seguir recupera um Storyboard de recursos e, em seguida, executa esse Storyboard quando 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 típicos de animação não usa esse método. Normalmente, você cria o elemento Storyboard ou BeginStoryboard na marcação e, em seguida, os coloca como o conteúdo EventTrigger em um elemento. Quando disparada pelo evento, a animação é executada. A maioria dos aspectos de controle de um Storyboard pode ser tratada por propriedades expostas na marcação.

Para as assinaturas que não usam o isControllable, parâmetro ou quando esse parâmetro é especificado false, os relógios da 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 depois de ser executada 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 do Compose

Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando o ComposeHandoffBehavior, todos os objetos Clock 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 quando você aplica um grande número de relógios usando Compose, remova os relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras de remover um relógio:

Esse é um problema principalmente 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 temporização.

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 da enumeração que descreve o comportamento a ser usado se uma propriedade descrita no storyboard já estiver animada.

isControllable
Boolean

Declara se a animação é controlável (pode ser pausada) depois de ser iniciada.

Comentários

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

Para as assinaturas que não usam o isControllable, parâmetro ou quando esse parâmetro é especificado false, os relógios da 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 depois de ser executada 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 do Compose

Quando você aplica um Storyboard, AnimationTimelineou AnimationClock a uma propriedade usando o ComposeHandoffBehavior, todos os objetos Clock 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 quando você aplica um grande número de relógios usando Compose, remova os relógios de composição da propriedade animada depois que eles forem concluídos. Há várias maneiras de remover um relógio:

Esse é um problema principalmente 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 temporização.

Aplica-se a