Ler em inglês

Compartilhar via


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.

C#
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard 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.

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

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}

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

.NET Framework 4.8.1 e outras versões
Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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.

C#
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior 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.

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

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}

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

.NET Framework 4.8.1 e outras versões
Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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.

C#
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);

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

.NET Framework 4.8.1 e outras versões
Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9