Storyboard dirigido a múltiples objetos, usando el método SetTarget, no funciona

¿Puede alguien ayudarme a tratar de averiguar por qué esto no funciona?

La variable pinceles contiene una lista de pinceles precargada. Si trato de aplicar laBeginAnimation directamente durante la iteración, funciona bien. Pero tiene una gran sobrecarga al comenzar cada animación por separado ...

Así que estaba tratando de poner todas las animaciones en un solo guión gráfico y dispararlas todas a la vez ...

var storyBoard = new Storyboard();           
var duration = new Duration(TimeSpan.FromMilliseconds(time));
foreach (Brush brush in brushes) 
{
    var animation = new DoubleAnimation(toValue, duration);

    storyBoard.Children.Add(animation);

    Storyboard.SetTargetProperty(animation, new PropertyPath(Brush.OpacityProperty));
    Storyboard.SetTarget(animation, brush);
}

storyBoard.Begin();

Este código simplemente no hace nada (que puedo ver ...).

¡¡Gracias!

Editar Todavía no estoy seguro de cuál es el problema con el método SetTarget, ya sea un error o simplemente no lo estoy usando como debería ser. De todos modos, resolví el problema generando nombres únicos para mis pinceles en tiempo de ejecución y utilizando el método SetTargetName.

Gracias de nuevo por todas las sugerencias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta