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)?

Respuestas a la pregunta(7)

Su respuesta a la pregunta