此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
ResourceDictionary 类
Collapse the table of content
Expand the table of content
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

ResourceDictionary 类

提供包含元素和 WPF 应用程序的其他元素使用的 WPF 资源的一个哈希表/字典实现。 

命名空间:  System.Windows
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
XAML 的 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.Ignore)]
[AmbientAttribute]
[UsableDuringInitializationAttribute(true)]
public class ResourceDictionary : IDictionary, 
	ICollection, IEnumerable, ISupportInitialize, IUriContext, INameScope
<ResourceDictionary .../>
<object>
  <object.resourcesProperty>
    oneOrMoreResources
  </object.resourcesProperty>
</object>

XAML 值

resourcesProperty

指定属性元素的属性,该属性的值类型是 ResourceDictionary 通常,这是 FrameworkElementFrameworkContentElementResources 属性,也可以在应用程序资源用例的 Application

oneOrMoreResources

作为对象元素中指定一个或多个资源。 所指定的每个资源都必须具有指定的 x:Key 指令

ResourceDictionary 类型公开以下成员。

  名称说明
公共方法ResourceDictionary初始化 ResourceDictionary 类的新实例。
页首

  名称说明
公共属性Count获取项的数目在基本 ResourceDictionary的。
公共属性DeferrableContent基础结构。获取或设置此资源字典的 deferrable 内容。
公共属性IsFixedSize获取此 ResourceDictionary 是否固定大小的。
公共属性IsReadOnly获取此 ResourceDictionary 是否为只读。
公共属性Item 获取或设置值与特定键。
公共属性Keys获取此 ResourceDictionary包含的所有关键的集合。
公共属性MergedDictionaries获取构成在合并字典的各种资源字典 ResourceDictionary 字典的集合。
公共属性Source获取或设置 统一资源标识符 (URI) 加载资源从。
公共属性Values 获取所有值的集合与本 ResourceDictionary包含的键。
页首

  名称说明
公共方法Add由键资源添加到此 ResourceDictionary
公共方法BeginInit开始此 ResourceDictionary的初始化阶段。
公共方法Clear清除所有键 (和值) 在基本 ResourceDictionary 这不是清除所有合并字典项。
公共方法Contains确定 ResourceDictionary 是否包含具有指定密钥的一个元素。
公共方法CopyTo复制 ResourceDictionary 元素对一维 DictionaryEntry 位于指定索引处。
公共方法EndInit关闭初始化阶段,并且无效前面的树这样在初始化阶段对密钥任何更改可能占用。
公共方法Equals(Object)确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法Finalize允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法FindName不支持使用此字典实现。
公共方法GetEnumerator返回可用于通过 ResourceDictionary重复 IDictionaryEnumerator
公共方法GetHashCode作为默认哈希函数。 (继承自 Object。)
公共方法GetType获取当前实例的 Type (继承自 Object。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法OnGettingValue,当 ResourceDictionary 接收对资源,发生。
公共方法RegisterName不支持使用此字典实现。
公共方法Remove移除项与指定键从一个基本字典。
公共方法ToString返回表示当前对象的字符串。 (继承自 Object。)
公共方法UnregisterName不支持使用此字典实现。
页首

  名称说明
公共扩展方法AsParallel启用查询的并行化。 (由 ParallelEnumerable 定义。)
公共扩展方法AsQueryableIEnumerable 转换为 IQueryable (由 Queryable 定义。)
公共扩展方法Cast<TResult>IEnumerable 的元素强制转换为指定的类型。 (由 Enumerable 定义。)
公共扩展方法OfType<TResult>根据指定类型筛选 IEnumerable 的元素。 (由 Enumerable 定义。)
页首

  名称说明
显式接口实现私有方法ICollection.CopyTo基础结构。有关此成员的说明,请参见 ICollection.CopyTo
显式接口实现私有属性ICollection.IsSynchronized基础结构。有关此成员的说明,请参见 ICollection.IsSynchronized
显式接口实现私有属性ICollection.SyncRoot有关此成员的说明,请参见 ICollection.SyncRoot
显式接口实现私有方法IEnumerable.GetEnumerator基础结构。有关此成员的说明,请参见 IEnumerable.GetEnumerator
显式接口实现私有属性IUriContext.BaseUri有关此成员的说明,请参见 IUriContext.BaseUri
页首

,当应用程序代码由 XAML 加载程序时,加载在 ResourceDictionary 的项目不立即处理。 相反, ResourceDictionary 保持为对象,并且,各个值时,才会他们专门请求时。

ResourceDictionary 类从 DictionaryBase未派生。 相反, ResourceDictionary 类实现 IDictionary ,但在内部依赖 Hashtable

在 可扩展应用程序标记语言 (XAML), ResourceDictionary 类通常是几个 Resources 属性的对象元素值,那么,当为属性元素语法的隐式集合元素。 有关隐式集合的详细信息。 XAML,请参见 XAML 语法详述 异常是要指定一个合并字典的;有关详细信息,请参见 合并资源字典

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

本示例演示如何使用应用程序资源。

下面的示例演示应用程序定义文件。 应用程序定义文件定义资源部分(Resources 属性的值)。 构成应用程序的所有其他页可以访问在应用程序级别定义的资源。 这种情况下,资源是声明样式。 因为包含控件模板的完整样式可能很长,本示例删除了在样式的 ContentTemplate 属性 setter 中定义的控件模板。


<Application.Resources>
  <Style TargetType="Button" x:Key="GelButton" >
    <Setter Property="Margin" Value="1,2,1,2"/>
    <Setter Property="HorizontalAlignment" Value="Left"/>
    <Setter Property="Template">
      <Setter.Value>


...


      </Setter.Value>
    </Setter>
  </Style>
</Application.Resources>


下面的示例演示了引用上例中定义的应用程序级资源的 XAML 页。 通过使用 StaticResource 标记扩展(用于指定请求的资源的唯一资源键)引用该资源。 在当前页中没有找到具有“GelButton”键的资源,所以请求资源的资源查找范围超出当前页,进入已定义的应用程序级资源。


<StackPanel
  Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  >
  <Button Height="50" Width="250" Style="{StaticResource GelButton}" Content="Button 1" />
  <Button Height="50" Width="250" Style="{StaticResource GelButton}" Content="Button 2" />
</StackPanel>


.NET Framework

受以下版本支持:4.5、4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

此类型的任何公共static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

社区附加资源

添加
显示:
© 2015 Microsoft