Изменение цвета Овала

252
01 декабря 2017, 03:09

Есть круг, код:

<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 только для чтения

Почему и как сделать так, что бы это работало?

Answer 1

У меня работает так:

ColorAnimation a0 = new ColorAnimation(Color.FromRgb(0, 150, 135), TimeSpan.FromSeconds(10));
var brush = EllipseBackgound.Fill;
brush.BeginAnimation(SolidColorBrush.ColorProperty, a0);

Дело в том, что вам нужно анимировать не кисть (Brush), которая является заполнением фона вашей фигуры, а цвет этой кисти. Соответственно и анимацию надо запускать у кисти, а не у эллипса.

READ ALSO
System.InvalidOperationException

System.InvalidOperationException

Помогите, что я сделал не так? Полная версия ошибки:

247
Math.Pow(31, 43) % 77 даёт неправильно значение

Math.Pow(31, 43) % 77 даёт неправильно значение

Компилятор даёт значение 48Калькулятор 3 - правильное значение

337
Программная авторизация на сайте oauth20.mos.ru

Программная авторизация на сайте oauth20.mos.ru

Подскажите, как можно авторизироваться на сайте, для дальнейшего редиректа

275
Отслеживание закрытия программы winforms

Отслеживание закрытия программы winforms

Нужно, чтобы после нажатия кнопки "закрыть" , программа выполняла кодЯ находил решение этой задачи

263