Ваша анимация будет размещена на раскадровке.
- Чтобы анимация работала бесконечно, установите Повторить поведение Повествования в Forever.
- Чтобы запустить анимацию при запуске BackgroundWorker, вызовите метод Storyboard.Begin.
- Чтобы остановить анимацию после завершения BackgroundWorker, в обработчике события RunWorkerCompleted вызовите метод Storyboard.Stop.
Вот пример:
<Window.Resources>
<Storyboard x:Key="sb" Duration="0:0:2" RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetName="l"
Storyboard.TargetProperty="Opacity"
From="1" To="0" AutoReverse="True" />
<ColorAnimation Storyboard.TargetName="l"
Storyboard.TargetProperty="Foreground.Color"
From="HotPink" To="Lime" AutoReverse="True" />
</Storyboard>
</Window.Resources>
<StackPanel>
<Label Name="l" FontSize="72">Oh noes!</Label>
<Button Click="Button_Click">Animate me!</Button>
</StackPanel>
И обработчик Button_Click:
private void Button_Click(object sender, RoutedEventArgs e)
{
((Storyboard)(FindResource("sb"))).Begin();
// and kick off your BackgroundWorker
}