I have a couple of Images configured as application resources.
When my application starts, the background of the main window is set via XAML:
<Window.Background>
<ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>
If a given event occurs, I'd like to change this background to another resource ("/myapp;component/Images/icon_gray.png").
I've tried using two constants:
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")));
... but naturally, I get an exception with Invalid URI.
Is there a simple way to change the background image (via this.Background = ...
) of a WPF window using either the pack Uri or the resource (i.e.: Myapp.Properties.Resources.icon
)?