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