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》 和官方文档

posted @ 2022-06-07 01:34  阿狸的萝卜  阅读(73)  评论(0编辑  收藏  举报