Раскадровка, нацеленная на несколько объектов с использованием метода SetTarget, не работает

Кто-нибудь может помочь мне выяснить, почему это не работает.

Переменная кистей содержит предварительно заполненный список кистей. Если я попытаюсь применить BeginAnimation непосредственно во время итерации, все будет нормально. Но у меня большие накладные расходы, начиная с каждой анимации отдельно ...

Итак, я пытался поместить все анимации в одну раскадровку и запустить их все сразу ...

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();

Этот код просто ничего не делает (что я могу см ...).

Редактировать: Все еще не уверен, в чем проблема с методом SetTarget: либо ошибка, либо я просто не использую, как должно быть. В любом случае я решил проблему создания уникальных имен для моих кистей во время выполнения и с помощью метода SetTargetName.

6
задан Cœur 29 June 2019 в 03:26
поделиться