Ive видел другие похожие проблемы, но они, похоже, делают это в XAML, так как это в обработчике событий, мне нужно выяснить ответ в C#. в основном мне просто нужно отправить пункт меню, чтобы мигать красным.Невозможно анимировать свойство цвета, поскольку объект запечатан или заморожен
ColorAnimation ca = new ColorAnimation()
{
From = Color.FromRgb(0, 0, 0),
To = Color.FromRgb(255,0,0),
AutoReverse = true,
RepeatBehavior = new RepeatBehavior(3),
Duration=new Duration(TimeSpan.FromSeconds(.5))
};
(sender as MenuItem).Foreground.BeginAnimation(SolidColorBrush.ColorProperty, ca);
Как не забота обо мне, так как обработчик событий вызывается только из пункта меню и не используется повторно ни для чего другого. Но ваш ответ, где я должен явно установить цвет AGAIN перед анимацией, работал отлично, любое объяснение, почему? – Wobbles
Конечно, достаточно установить фон один раз перед его анимированием в первый раз. Возможно, вы можете сделать это в XAML. Однако важно не использовать одну из предопределенных кистей, таких как «Brushes.Black», потому что они не изменяемы. – Clemens
ahh, странно, но имеет смысл, я думаю. – Wobbles