📅  最后修改于: 2023-12-03 15:40:11.870000             🧑  作者: Mango
WPF是一种用于创建窗口和用户界面的技术。在WPF中,图像通常是通过Image
元素添加到用户界面中的。本文将介绍如何通过C#代码更改WPF中Image元素的图像源。
首先,需要获取Image元素的引用。这可以通过在XAML中设置Name属性来完成。例如:
<Image Name="myImage" Source="/myProject;component/Images/myImage.png" />
然后,可以使用下面的C#代码获取该元素的引用:
var image = this.FindName("myImage") as Image;
其中,this
表示当前窗口,FindName
方法将查找具有指定名称的元素,并将其转换为Image
类型。
更改图像源可以直接改变Source
属性:
image.Source = new BitmapImage(new Uri("/myProject;component/Images/otherImage.png", UriKind.Relative));
如果要从文件中加载图像,可以调用BitmapImage
的构造函数,如下所示:
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.UriSource = new Uri(@"C:\path\to\image.png");
bitmapImage.EndInit();
image.Source = bitmapImage;
其中,BeginInit
和EndInit
方法用于开始和结束初始化过程。
如果要从资源中加载图像,需要将图像添加到项目资源中。可以在项目资源文件夹中创建一个文件夹,并将图像文件添加到其中。然后,在资源文件夹中右键单击该图像文件,选择属性,将生成操作更改为嵌入的资源。
现在,可以通过以下代码从资源中加载图像:
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = Application.GetResourceStream(new Uri("/myProject;component/Resources/image.png", UriKind.Relative)).Stream;
bitmapImage.EndInit();
image.Source = bitmapImage;
其中,Application.GetResourceStream
方法用于获取与指定Uri相对应的资源文件的流,BeginInit
和EndInit
方法用来初始化BitmapImage
实例。
通过上述内容,您应该可以轻松地更改WPF中Image元素的图像源了。无论是从文件还是从资源中,都可以使用简单的C#代码加载图像。