Tengo un par de imágenes configuradas como recursos de la aplicación.Cambiar la imagen de fondo de la ventana de WPF en el código de C#
Cuando se inicia mi solicitud, 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 dado, me gustaría cambiar este contexto 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, me sale una excepción con el URI no válido.
¿Hay una forma simple de cambiar la imagen de fondo (a través de this.Background = ...
) de una ventana de WPF utilizando el paquete Uri o el recurso (es decir: Myapp.Properties.Resources.icon
)?
Usé el segundo, ya que estaba definiendo una constante estática. ¡Gracias! – biasedbit