WPF中资源(Resource)与嵌入的资源(Embedded Resource)的区别及使用场景详解
🌟 开发WPF项目时图片、SVG、配置文件等到底该设置为哪种资源?如何正确读取、跨程序集访问?一篇文章全解答。
在使用 WPF 进行项目开发时,很多开发者在设置文件“生成操作(Build Action)”时,常常会在“资源(Resource)”和“嵌入的资源(Embedded Resource)”之间感到迷惑。这两个选项虽然名字相似,但它们的用途、加载方式、作用范围却完全不同。
本文将全面分析这两种资源类型的区别,帮助你更合理地管理项目中的图像、配置、SVG 等各类文件。
🔍 一、什么是“生成操作”
在 Visual Studio 中,右键点击项目中的任意资源文件(如 .svg
, .png
, .json
等),选择“属性”,你会看到一个选项叫做“生成操作(Build Action)”。
它控制了该文件在编译时如何处理,常见的选项有:
None
(不参与编译)Content
Compile
Resource
(WPF专用资源)Embedded Resource
(嵌入式资源)
本文重点讲的是:
Resource
Embedded Resource
🆚 二、资源(Resource) vs 嵌入的资源(Embedded Resource)
特性 | Resource(资源) | Embedded Resource(嵌入的资源) |
---|---|---|
编译行为 | 编译进 WPF 程序集中,可用于 XAML | 编译进程序集的 .resources 区段 |