Alterar a imagem de plano de fundo da janela WPF no código C #

Eu tenho algumas imagens configuradas como recursos do aplicativo.

Quando meu aplicativo é iniciado, o plano de fundo da janela principal é definido via XAML:

<Window.Background>
    <ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>

Se ocorrer um determinado evento, gostaria de alterar esse plano de fundo para outro recurso ("/myapp;component/Images/icon_gray.png")

Eu tentei usar duas 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")));

... mas, naturalmente, recebo uma exceção com URI inválido.

Existe uma maneira simples de alterar a imagem de fundo (viathis.Background = ...) de uma janela WPF usando o pacote Uri ou o recurso (ou seja:Myapp.Properties.Resources.icon)?

questionAnswers(7)

yourAnswerToTheQuestion