Cambiar la imagen de fondo de la ventana WPF en código C #
Tengo un par de imágenes configuradas como recursos de la aplicación.
Cuando se inicia mi aplicación, el fondo de la ventana principal se establece a través de XAML:
<Window.Background>
<ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>
Si se produce un evento determinado, me gustaría cambiar este fondo a otro recurso ("/myapp;component/Images/icon_gray.png"
)
He intentado usar dos constantes:
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")));
... pero, naturalmente, obtengo una excepción con URI no válido.
¿Hay una manera simple de cambiar la imagen de fondo (a través dethis.Background = ...
) de una ventana WPF utilizando el paquete Uri o el recurso (es decir:Myapp.Properties.Resources.icon
)?