请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework 类库
ResourceDictionary 类

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

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

Visual Basic(声明)
<LocalizabilityAttribute(LocalizationCategory.Ignore)> _
Public Class ResourceDictionary _
    Implements IDictionary, ICollection, IEnumerable, INameScope,  _
    ISupportInitialize, IUriContext
Visual Basic(用法)
Dim instance As ResourceDictionary
C#
[LocalizabilityAttribute(LocalizationCategory.Ignore)]
public class ResourceDictionary : IDictionary, 
    ICollection, IEnumerable, INameScope, ISupportInitialize, IUriContext
Visual C++
[LocalizabilityAttribute(LocalizationCategory::Ignore)]
public ref class ResourceDictionary : IDictionary, 
    ICollection, IEnumerable, INameScope, ISupportInitialize, IUriContext
J#
/** @attribute LocalizabilityAttribute(LocalizationCategory.Ignore) */
public class ResourceDictionary implements IDictionary, 
    ICollection, IEnumerable, INameScope, ISupportInitialize, IUriContext
JScript
public class ResourceDictionary implements IDictionary, ICollection, IEnumerable, INameScope, ISupportInitialize, IUriContext
XAML 对象元素用法
<ResourceDictionary .../>
XAML 隐式集合用法
<object>
  <object.resourcesProperty>
    oneOrMoreResources
  </object.resourcesProperty>
</object>
XAML 值
resourcesProperty

一个指定属性元素的属性,该属性的值类型为 ResourceDictionary。通常,这FrameworkElementFrameworkContentElement Application(在使用应用程序资源的情况下)的 Resources 属性。

oneOrMoreResources

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

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

ResourceDictionary 类不是从 DictionaryBase 派生的。ResourceDictionary 类而是实现 IDictionary,但在内部依赖于 Hashtable

在可扩展应用程序标记语言 (XAML) 中,ResourceDictionary 类通常是一个隐式集合元素,该元素是用属性元素语法提供的多个 Resources 属性的对象元素值。有关 XAML 中的隐式集合的详细信息,请参见 XAML 语法术语。如果要指定合并的字典,则会引发异常;有关详细信息,请参见合并资源字典

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

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

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

XAML
<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”键的资源,所以请求资源的资源查找范围超出当前页,进入已定义的应用程序级资源。

XAML
<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>

有关完整示例(包含完整控件模板),请参见应用程序资源示例

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

Windows Vista

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

.NET Framework

受以下版本支持:3.5、3.0 SP1、3.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2008 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker