Код, который вы предоставили, на самом деле работает. Но в вашем случае у вас есть строковый массив с именами кистей. В моем решении трехмерные модели загружаются из внешних библиотек ресурсов, и я не могу предположить, что это имя для каждой кисти. В любом случае, сейчас я использую ваше решение и генерирую уникальные имена для кистей во время выполнения. Тем временем я, вероятно, попытаюсь найти хороший способ создания имен для всех компонентов Visual3D.
ли кто-нибудь помочь мне, пытаясь выяснить, почему это не работает.
Переменная brushes содержит предварительно заполненный список кистей. Если я попытаюсь применить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.
Еще раз спасибо за все предложения.