Я пытаюсь сделать анимацию для фона моего холста, постепенно переходя от уже определенного фона с помощью ImageBrush (это изображение, представляющее сцену битвы) к другому ImageBrush, который представляет конец игрового экрана. Оба изображения заполняют весь фон холста. Есть ли конвертер, который позволяет преобразовывать ImageBrush в Color? Или какой-то BrushAnimation?
Я пробовал это, но получаю System.InvalidCastException: «Нет возможности преобразовать объект типа «System.Windows.Media.ImageBrush» в тип «System.Windows.Media.SolidColorBrush».
Brush newColor = miLienzo.Background;
SolidColorBrush newBrush = (SolidColorBrush)newColor;
Color myColorFromBrush = newBrush.Color;
endBrush.ImageSource = new BitmapImage(new Uri("Imagenes/fin.jpg", UriKind.Relative));
Brush newColor2 = endBrush;
SolidColorBrush newBrush2 = (SolidColorBrush)newColor2;
Color myColorFromBrush2 = newBrush2.Color;
ColorAnimation animation;
animation = new ColorAnimation();
animation.From = myColorFromBrush;
animation.To = myColorFromBrush2;
animation.Duration = new Duration(TimeSpan.FromSeconds(2));
miLienzo.Background.BeginAnimation(SolidColorBrush.ColorProperty, animation);