WPF学习笔记——22)WPF程序集资源

WPF应用程序的程序集资源和其他.Net应用程序的程序集资源本质上是相同的,都是为项目添加一个文件,从而VS可以将该资源嵌套到已编译过的exe或者dll中。二者之间的区别在于引用资源的寻址方式不同。

1、添加资源

我们新建一个WPF应用程序,然后右键项目新建一个文件夹,添加一个图片。

接着我们在Grid容器中插入一个Image控件,单击Image在属性中找到Source设置图片路径,选中我们刚刚添加的图片,这样图片就插入到了程序中,并且在编译时会把图片作为二进制数据写入exe文件中,这样即使之后删除图片也会正常显示图片:

WPF学习笔记——22)WPF程序集资源

2、内容文件

如果我们希望程序资源文件在删除或者替换操作后,程序能够自动识别新的资源文件,不需要用户再次编译;或者资源文件非常大时,从而导致嵌入的exe文件也非常大;或者我们想添加声音文件,而声音文件无法作为资源文件。

对于这几种情况我们一般将这些未编译过的文件标记未内容文件,内容文件无法被嵌入到程序集中。

我们添加一个新的图片,将图片属性的复制到输出目录设置为始终复制,生成操作改为内容。

然后将该图片添加到Image组件中,我们生成程序会发现Debug目录下多了一个Image目录,里面存放了图片资源,这个时候exe就会到该目录下面寻找资源,如果我们将该目录删除,程序也就无法正常显示内容。

WPF学习笔记——22)WPF程序集资源

 

WPF学习笔记——22)WPF程序集资源