ResourceDictionary资源字典出现的初衷就是在于它可以实现多个项目之间的共享资源,资源词典简单来说它就是一个XAML文档,这个文档就是装我们需要使用的资源。

它的使用可以减少重复的代码、重复的样式,多个项目共享。

在资源字典里的XAML代码修改一个地方的话,所有引用它的地方都会被修改。

这样的话方便项目统一风格。

1、创建资源字典第一步就是先要创建一个装资源字典的文件。

2、然后就是在文件夹那里添加资源字典

创建好后大概就是这个样子,然后在里面写我们需要的样式

3、然后呢第三步就是使用我们的资源字典。要是用资源字典,首选要将资源字典

集成到应用程序的一些资源合集中,然后就是在app.xaml文件中进行集成。

代码如下:

<!--Resource Dictionary –资源字典-->

<!--所有的资源项在最终都会被整合到Resource Dictionary中的,也就是说无论是FrameworkElement的Resources,还是Window的Resources,还是Application的Resources,

还是特定的ResourceDictionary中定义的resources在整个应用编译执行的时候实际上他们

都在一起的作为可遍历集合共同存在于一个相对会话空间内的。 我们也提到过Resource

的key是可以被允许有相同的,这样在遍历不同相对地址的Resource Dictionary时会根据StaticResource或者DynamicResource的lookup behavior来确定哪个有效。通常为了维护

和灵活性的考虑,我们通常会将Resource Dictionary文件分成好几个,但在某些场合下

我们只需要用其中某些资源,那么我么可以将资源从几个独立的文件中提取并合并.-->

<ResourceDictionary>

<!--给应用程序添加默认资源:其实就是将默认的Resource Dictionary加入到Application的全局Resource里边。-->

<ResourceDictionary.MergedDictionaries>

<!--封装好的公共样式-->

<ResourceDictionary Source="Tools/Dictionary/PublicBasic.xaml"/>

<!--封装好的公共样式-->

<ResourceDictionary Source="Tools/Dictionary/ButtonsBasic.xaml"/>

</ResourceDictionary.MergedDictionaries>

</ResourceDictionary>

然后使用资源字典的方法就是需要使用StaticResource关键字去添加

(如下图)

tatic Resource – 静态资源(StaticResource仅仅会被应用一次---在第一次需要资源时加载。而且这种引用方式不支持向前加载,所有的资源定义必须在引用之前定义)

Dynamic Resource – 动态资源,(与Static Resource不同的是,Dynamic Resource可以在程序运行时重新评估/计算资源来生成对应的对象/值,它支持向前引用,只要请求的key在整个应用程序内的任何Resources Dictionary定义过就可以被加载。如果有多个相同的key存在,则最后搜索到的资源为有效)

Resource Dictionary –资源字典(所有的资源项在最终都会被整合到Resource Dictionary中的,也就是说无论是FrameworkElement的Resources,还是Window的Resources,还是Application的Resources,还是特定的ResourceDictionary中定义的resources在整个应用编译执行的时候实际上他们都在一起的作为可遍历集合共同存在于一个相对会话空间内的)

ResourceDictionary相关推荐

  1. 【WP8】ResourceDictionary

    WP8中引用资源字典 当我们定义的样式太多的时候,我们可以把样式分别定义在不同的文件中,然后通过 MergedDictionaries 应用到其他资源字典中,看下面Demo 我们可以把样式定义在多个文 ...

  2. ResourceDictionary主题资源替换(二) :编译期间,替换主题资源

    之前的ResourceDictionary主题资源替换(一)通过加载顺序来覆盖之前的主题资源,介绍了WPF框架对ResourceDictionary资源的合并规则. 此篇介绍一种在编译期间,实现资源替 ...

  3. Windows Phone 7 定义和使用字典资源(ResourceDictionary)

    1.首先需要创建一个资源字典的文件,也就是一个xaml的文件. 文件的语法格式如下 Test.xaml <ResourceDictionary xmlns="http://schema ...

  4. WPF整理-使用ResourceDictionary管理Logical Resources

    原文:WPF整理-使用ResourceDictionary管理Logical Resources "Logical resources may be of various types, su ...

  5. WPF自定义控件中报“设置属性“System.Windows.ResourceDictionary.Source”时引发了异常。”,...

    今天在做WPF项目的时候,用到了一些自定义控件,以前项目的中的控件,但是由于要用到自己现在的项目中,对命名控件改动,单是没有完全改过来.导致出现如下的错误. "设置属性"Syste ...

  6. [UWP]实现一个轻量级的应用内消息通知控件

    [UWP]实现一个轻量级的应用内消息通知控件 原文:[UWP]实现一个轻量级的应用内消息通知控件 在UWP应用开发中,我们常常有向用户发送一些提示性消息的需求.这种时候我们一般会选择MessageDi ...

  7. 在后台代码中引入XAML的方法

    本文将介绍三种方法用于在后台代码中动态加载XAML,其中有两种方法是加载已存在的XAML文件,一种方法是将包含XAML代码的字符串转换为WPF的对象. 这些是我在编写RegeX时获得的经验,它们将会给 ...

  8. 静态资源(StaticResource)和动态资源(DynamicResource)

    静态资源(StaticResource)和动态资源(DynamicResource) 资源可以作为静态资源或动态资源进行引用.这是通过使用 StaticResource 标记扩展或 DynamicRe ...

  9. WPF XAML 资源样式模板属性存放位置

    WPF XAML 资源样式模板属性存放位置 原文:WPF XAML 资源样式模板属性存放位置 WPF的XAML 资源申明 类似HTML. 整体来说分3种 1.行类资源样式属性 1.1 行内属性 < ...

最新文章

  1. rlwrap 让Linux下的sqlplus变得好用
  2. IT职场人生系列之十八:危险职业(上)
  3. python基础===pip安装模块失败
  4. 安装 esl php 模块,FreeSWITCH 安装配置的 各种坑, 填坑
  5. CSS的盒子模型(Box Model)
  6. WPF 带CheckBox、图标的TreeView
  7. Maven学习之 仓库镜像
  8. 群同态基本定理证明_群论(7): 群代数, 群表示基础
  9. 如何复制图文消息封面图片?正文没显示
  10. C语言标准库<string.h>
  11. 用FileInputStream和FileOutputStream实现文件复制粘贴
  12. python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计
  13. Copula函数实战(Matlab)
  14. 监测生命体征、活动水平的可穿戴电子产品设计方案
  15. printf() 输出数据格式汇总
  16. Android之——多媒体开发视频格式
  17. 计算机网络与Internet发展历史
  18. 计算机学风建设新闻稿,第十一届学风建设月动员大会新闻稿_
  19. 【量化策略】横盘策略20211209
  20. ORA-01654: unable to extend index报错解决

热门文章

  1. 算法设计与分析 Dij证明
  2. 【蓝桥杯 路径 python】Dij算法
  3. (Python)异常处理try...except、raise
  4. Nios和Qsys互连
  5. img 图片自适应大小
  6. python文件操作实现全文或单行替换
  7. NeXT,NEXTSTEP,OPENSTEP,Cocoa,Cocoa Touch,GNUstep,xcode
  8. 菜狗的reverse学习——攻防世界xxxorrr
  9. EXCEL转换成十六进制加0x补零
  10. Xshell的下载与安装