Ho un paio di immagini configurate come risorse dell'applicazione.Modifica l'immagine di sfondo della finestra WPF nel codice C#
Quando la mia applicazione si avvia, lo sfondo della finestra principale viene impostata tramite XAML:
<Window.Background>
<ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>
Se si verifica un determinato evento, mi piacerebbe cambiare questo sfondo ad un'altra risorsa ("/myapp;component/Images/icon_gray.png"
).
Ho provato con due costanti:
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")));
... ma, naturalmente, ottengo un'eccezione con URI non valido.
C'è un modo semplice per modificare l'immagine di sfondo (tramite this.Background = ...
) di una finestra WPF utilizzando il pacchetto Uri o la risorsa (ad esempio: Myapp.Properties.Resources.icon
)?
Utilizzato il secondo, poiché stavo definendo una costante statica. Grazie! – biasedbit