ResourceDictionary 类

定义

提供一个哈希表/字典实现,其中包含组件所使用的 WPF 资源以及 WPF 应用程序的其他元素。

public ref class ResourceDictionary : System::Collections::IDictionary, System::ComponentModel::ISupportInitialize, System::Windows::Markup::INameScope, System::Windows::Markup::IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.Ambient]
[System.Windows.Markup.UsableDuringInitialization(true)]
public class ResourceDictionary : System.Collections.IDictionary, System.ComponentModel.ISupportInitialize, System.Windows.Markup.INameScope, System.Windows.Markup.IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
type ResourceDictionary = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface INameScope
    interface ISupportInitialize
    interface IUriContext
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface ISupportInitialize
    interface IUriContext
    interface INameScope
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.Ambient>]
[<System.Windows.Markup.UsableDuringInitialization(true)>]
type ResourceDictionary = class
    interface ICollection
    interface IEnumerable
    interface IDictionary
    interface ISupportInitialize
    interface INameScope
    interface IUriContext
Public Class ResourceDictionary
Implements IDictionary, INameScope, ISupportInitialize, IUriContext
继承
ResourceDictionary
派生
属性
实现

注解

当 XAML 加载程序加载应用程序代码时,不会立即处理 中的 ResourceDictionary 项。 相反, 作为 ResourceDictionary 对象保留,并且仅在专门请求时处理各个值。

ResourceDictionary 不派生自 DictionaryBaseResourceDictionary类改为实现IDictionary,但在内部依赖于 Hashtable

在可扩展应用程序标记语言 (XAML) 中, ResourceDictionary 类通常是一个隐式集合元素,当在属性元素语法中给定时,它是多个 Resources 属性的对象元素值。 有关 XAML 中的隐式集合的详细信息,请参阅 XAML 语法详细信息。 需要指定合并字典时例外;有关详细信息,请参阅 合并的资源字典

另一种可能的 XAML 用法是将资源字典声明为离散 XAML 文件,并在运行时加载 Load 它,或者将其作为资源或松散文件包含在 (完全信任) 项目中。 在这种情况下, ResourceDictionary 可以声明为对象元素,充当 XAML 的根元素。 如果计划将其用作根元素,则必须将 WPF 命名空间 (的默认值(通常 x: 为 XAML 命名空间) )映射到 ResourceDictionary 元素的相应 XML 命名空间值。 然后,可以添加用于定义资源的子元素,每个元素都有 一个 x:Key 值。

XAML 隐式集合用法

<object>  
  <object.resourcesProperty>  
    oneOrMoreResources  
  </object.resourcesProperty>  
</object>  

XAML 值

resourcesProperty
指定属性元素的属性,其中该属性的值类型为 ResourceDictionary。 通常,在应用程序资源案例中,这是 ResourcesFrameworkContentElementApplication 或 属性FrameworkElement

oneOrMoreResources
指定为对象元素的一个或多个资源。 指定的每个资源都必须分配有一个 x:Key 指令

构造函数

ResourceDictionary()

初始化 ResourceDictionary 类的新实例。

属性

Count

获取基 ResourceDictionary 中的项数。

DeferrableContent

获取或设置此资源字典的可推迟内容。

InvalidatesImplicitDataTemplateResources

获取或设置一个值,指示 ResourceDictionary 对象引发的失效是否会导致 ContentPresenter 对象重新评估其所选的模板。 某个隐式数据模板资源发生改变时,将发生失效。

IsFixedSize

获取此 ResourceDictionary 是否具有固定大小。

IsReadOnly

获取此 ResourceDictionary 是否为只读。

Item[Object]

获取或设置与给定键相关联的值。

Keys

获取此 ResourceDictionary 中包含的所有键的集合。

MergedDictionaries

获取 ResourceDictionary 字典的集合,这些字典构成了合并字典中的各种资源字典。

Source

获取或设置要从其加载资源的统一资源标识符 (URI)。

Values

获取与此 ResourceDictionary 中包含的键关联的所有值的集合。

方法

Add(Object, Object)

通过键将资源添加到此 ResourceDictionary 中。

BeginInit()

开始此 ResourceDictionary 的初始化阶段。

Clear()

清除基 ResourceDictionary 中的所有键(以及值)。 这不会清除任何合并的字典项。

Contains(Object)

确定是否 ResourceDictionary 包含带有指定键的元素。

CopyTo(DictionaryEntry[], Int32)

ResourceDictionary 元素复制到位于指定索引处的一维 DictionaryEntry 中。

EndInit()

结束初始化阶段,并使上一个树无效,以便在初始化阶段对键所做的更改都可以得到解决。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FindName(String)

此字典实现不支持该方法。

GetEnumerator()

返回一个可用于循环访问 IDictionaryEnumeratorResourceDictionary

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnGettingValue(Object, Object, Boolean)

ResourceDictionary 接收资源请求时发生。

RegisterName(String, Object)

此字典实现不支持该方法。

Remove(Object)

从基字典中移除带有指定键的项。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
UnregisterName(String)

此字典实现不支持该方法。

显式接口实现

ICollection.CopyTo(Array, Int32)

有关此成员的说明,请参见 CopyTo(Array, Int32)

ICollection.IsSynchronized

有关此成员的说明,请参见 IsSynchronized

ICollection.SyncRoot

有关此成员的说明,请参见 SyncRoot

IEnumerable.GetEnumerator()

有关此成员的说明,请参见 GetEnumerator()

IUriContext.BaseUri

有关此成员的说明,请参见 BaseUri

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于

另请参阅