我有几张被配置为应用程序资源的图片。
当我的应用程序启动时,主窗口的背景通过XAML设置:
<Window.Background>
<ImageBrush ImageSource="/myapp;component/Images/icon.png" />
</Window.Background>
如果发生某个事件,我想将这个背景更改为另一个资源("/myapp;component/Images/icon_gray.png"
)。
我尝试使用两个常量:
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")));
...但是自然会得到一个无效URI的异常。
是否有一种简单的方法可以使用打包URI或资源(即Myapp.Properties.Resources.icon
)来更改WPF窗口的背景图像(通过this.Background = ...
)?