#WPF# 资源字典的使用
一、资源字典分类
WPF应用程序中,XAML资源分为StaticResource(静态资源) 和 DynamicResource(动态资源)
Windows8应用中,XAML资源仅支持StaticResource(静态资源)
资源应用域不同,XAML资源可分为FrameworkElement.Resources和 Application.Resources 。1.FrameworkElement.Resources是将资源对象应用于同一个对象数的不同对象 上,称之为页面资源,通常被定义在XAML页面根元素上。2.Application.Resources是贯穿整个应用级别的资源,通常被定义在App.xaml页面
二、FrameworkElement.Resources(页面资源字典)
三、Application.Resources(贯穿整个应用级别的资源)
步骤一:创建资源字典
创建一个资源字典,如Dictionary1,然后开始编辑资源。
步骤二:集成资源
要使用资源字典,首先要将资源字典集成到应用程序的某些资源集合中。
一般的做法都是在app.xaml文件中进行集成。如:
ResourceDictionary 类:提供一个哈希表/字典实现,其中包含组件所使用的 WPF 资源以及 WPF 应用程序的其他元素。
Count属性:
获取基中的条目数 ResourceDictionary。
DeferrableContent属性:
此 API 支持 产品 基础结构,不应从代码直接使用。 获取或设置此资源字典可推迟的内容。
IsFixedSize属性:
获取是否这 ResourceDictionary 具有固定大小。
IsReadOnly属性:
获取是否这 ResourceDictionary 是只读的。
Item[Object]属性:
获取或设置与给定的键关联的值。
Keys属性:
获取集合中包含的所有键 ResourceDictionary。
MergedDictionaries属性:
获取一套 ResourceDictionary 构成合并字典中的各种资源字典的字典。
Source属性:
获取或设置要从中加载资源的 统一资源标识符 (URI)。
Values属性:
获取包含在此键与相关联的所有值的集合 ResourceDictionary。
步骤三:使用资源字典
集成之后就可以在当前的工程中使用这些资源了,使用资源的方法比较简单只需要使用StaticResource 关键字去添加即可。如:
在 System空间下,可以使用xmlns:sys="clr-namespace:System;assembly=mscorlib"> 来引入命名空间,就跟using一样
总结:
使用资源字典的主要原因有两个:
提供style功能。
存储需要被本地话的内容(错误消息字符串等,实现软编码)