我需要在运行时根据用户点击的RadioButton
更改背景图片。我在Visual Studio的WPF项目中这样做,我需要将代码放在xaml.cs文件中的Checked
事件中
我有一个名为imgBackground的Image控件,其Source集合中有6个图像,这些图像列在Solution Explorer的Images文件夹中。
我试过了:
this.imgBackground.Source = "filename.jpg";
有没有引号,有不同的路径(我尝试了太多不同的变体来列出它们全部在这里)并且没有任何作用 - 我尝试过的所有内容都在编辑器中出现错误,在我尝试之前构建和运行任何东西(给出的错误取决于我当时正在尝试的内容)。
答案 0 :(得分:2)
如果您使用相对路径作为文件名,如
this.imgBackground.Source = "filename.jpg";
然后这些文件必须与程序的.exe位于同一目录中。 一种解决方法是使用绝对路径,如
this.imgBackground.Source = @"C:\MyFolder\MyProject\filename.jpg";
或者,甚至进一步使用WPF的打包机制或将图像作为资源打包到装配中。查看this主题。
编辑:
您的澄清:
Source
- 属性需要System.Windows.Media.ImageSource
- 对象,您必须提供该对象。
这样做:
BitmapImage bi3 = new BitmapImage();
bi3.BeginInit();
bi3.UriSource = new Uri("filename.jpg", UriKind.Relative);
bi3.EndInit();
this.imgBackground.Source = bi3;
请参阅此处的this文档。