WPF-资源
WPF-资源
程序级资源
对象级资源
WPF对象级资源的定位与查找
每个WPF的界面都有Resource的属性,类型为ResourceDictionary,以键值对的形式存储和使用对象
//引入正确的命名空间
xmlns:sys="clr-namespace:System;assembly=System.Runtime"
// 声明资源
<Window.Resources>
<ResourceDictionary>
<sys:String x:Key="str1">字符串1</sys:String>
</ResourceDictionary>
</Window.Resources>
// 使用资源
<Label Content="{StaticResource ResourceKey=str1}"/>
在检索资源的时候,先查找资源自己的resource属性,没有则会沿着逻辑树向上查找,直到最顶级容器,如果没有则查找application.resources,没有则派出异常。
静态和动态使用资源
资源被存储进资源字典之后可通过 static和dynamic 静态和动态使用资源
静态指在程序载入内存时对资源此次使用,之后便不再访问了。动态则相反,会反复访问
向程式添加二进制资源
我们明确地称呼资源词典里的资源为"WPF资源” 或“ 对象资源”, 称呼应用程序的内嵌资源为“程序集资源” 或“二进制资源”。
可使用Resources.resx作为存储资源
或者使用文件夹,在内部存放文件,如果希望文件编译成二进制文件,则属性设置为resuorce,do not copy,不希望编译成二进制,只以文件形式访问则设置为none , copy always
使用Pack URI访问二进制资源
使用pack://application:,,,/文件位置/文件名称
使用pack://application:,,,/文件位置/文件名称
<image Source="images/photo1.jpg"/>
<image Source="pack://application:,,,/images/photo1.jpg"/>
使用缩略写法为相对路径,完整的写法为绝对路径,
./ 同级目录 ../父级目录
随笔资料大量来自于《深入浅出WPF》 和官方文档