(一) 资源分类
程序级资源:也称为二进制资源,将数据存储在程序主体之外的文件里。外部文件与程序主体分离,为避免丢失或损坏,编译器充许把外部文件编译进程序主体、成为程序主体不可分割的一部分,即为传统意义上的程序资源。
对象级资源:每个界面元素都可以携带自己的资源并可被自己的子级元素共享。WPF可同时支持程序级资源和对象级资源。
(二) WPF对象级资源的定义与查找
检索资源:先查找控件自己的Resources属性,如果没有这个资源,程序会沿着逻辑树向上一级控件查找,如果连最顶层容器都没有这个资源,程序就会去查找Application.Resources(也就是程序的顶级资源),如果还没有找到只好抛出异常了。
(三) 静态资源与动态资源
(四) 程序级资源(二进制资源)与对象级资源交互
4.1 向程序集添加二进制资源
4.2 用Pack URI路径访问二进制资源