WPF笔记之资源
- 每个元素都有 Resource的资源集合,为了找到期望的资源会在元素树种递归搜索。所以为了统一应用一个资源到一部分元素可以将资源设置到其父元素上
- 使用静态资源必须在引用之前在标记中定义资源
- 元素资源使用顺序优先使用自身资源
- 静态资源值从资源集合中获取对象一次,而动态资源在每次需要对象是都会重新从资源集合中查找对象
- 一般规则只在以下两种情况下使用动态属性
1.资源具有依赖于系统设置的属性(如系统颜色或者字体)(不使用动态资源会导致系统资源变化而无法反应情况)
2.准备通过编程方式替换资源对象 - TryFindResource 可以替代FinResource 找不到资源返回Null 而不是报出异常
- 资源字典有助于在多个项目中共享资源,资源字典只是XAML文档只有存储资源的功能
- 保证最佳性能将资源字典文件的Bulid Action 设置为page。设置为resource会嵌入到程序集中,但是不会被编译。
- 资源字典使用:将其合并到应用程序某些位置的资源集合中
在resource中使用ResourceDictionary.MergedDictionaries 合并资源字典 - 程序集之间共享资源:将资源字典做成类库,分发组件,然后在程序中新建ResourceDictionary实例加载