Есть круг, код:
<Ellipse x:Name="EllipseBackgound" Fill="#FF282E33" HorizontalAlignment="Left" Height="94" Margin="384,22,0,0" Stroke="#FF282E33" VerticalAlignment="Top" Width="99" StrokeThickness="0"/>
Он без рамки, и нужно изменить его цвет с помощью анимации в C# коде.
Однако это не работает:
ColorAnimation a0 = new ColorAnimation(Color.FromRgb(0, 150, 135), TimeSpan.FromSeconds(10));
EllipseBackgound.BeginAnimation(SolidColorBrush.ColorProperty, a0);
Я не нашел в Ellipse.СВОЙСТВО того свойства, через которое можно изменять цвет заливки, а FillProperty только для чтения
Почему и как сделать так, что бы это работало?
У меня работает так:
ColorAnimation a0 = new ColorAnimation(Color.FromRgb(0, 150, 135), TimeSpan.FromSeconds(10));
var brush = EllipseBackgound.Fill;
brush.BeginAnimation(SolidColorBrush.ColorProperty, a0);
Дело в том, что вам нужно анимировать не кисть (Brush), которая является заполнением фона вашей фигуры, а цвет этой кисти. Соответственно и анимацию надо запускать у кисти, а не у эллипса.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники