У меня есть пара изображений, настроенных как ресурсы приложения.
Когда мое приложение запускается, фон главного окна устанавливается через XAML:
<Window.Background>
<ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>
Если происходит какое-либо событие, я хотел бы изменить этот фон на другой ресурс ("/myapp;component/Images/icon_gray.png"
).
Я пробовал использовать две константы:
private static readonly ImageBrush ENABLED_BACKGROUND =
new ImageBrush(new BitmapImage(new Uri("/myapp;component/Images/icon.png")));
private static readonly ImageBrush DISABLED_BACKGROUND =
new ImageBrush(new BitmapImage(new Uri("/myapp;component/Images/icon_gray.png")));
... но, естественно, я получаю исключение с недопустимым URI.
Есть ли простой способ изменить фоновое изображение (через this.Background = ...
) окна WPF, используя либо пакет Uri, либо ресурс (т.е.: Myapp.Properties.Resources.icon
)?