FrameworkContentElement.Resources 属性

定义

获取或设置当前本地定义的资源字典。

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

属性值

当前本地定义的资源。 这是一本资源字典,可通过键来访问字典中的资源。

属性

示例

以下示例在 Resources 根元素上建立集合 FlowDocumentFlowDocument 这是一个典型的选择,因为它是少数 FrameworkContentElement 作为根元素有意义的类之一,并且资源通常存储在页面根或更高级别(例如应用程序中)。

<FlowDocument
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class=" SDKSample.Page2">
  <FlowDocument.Resources>
    <Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="LightBlue"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
    </Style>
  </FlowDocument.Resources>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>

注解

可以在可扩展应用程序标记语言 (XAML) 中完全或部分定义的资源字典通常创建为属性元素,并且通常位于任何单个页面或应用程序的根元素上。 将资源字典置于此级别可以更轻松地从页面 (或任何页面(在应用程序案例) )中查找单个子元素。 在大多数应用程序方案中,我们建议将样式定义为资源字典中的对象元素,或将样式定义为外部资源,以便整个样式资源可以自包含 (此方法有助于通过将需要编辑的物理文件) 分隔设计师责任和开发人员责任。

请注意,此属性仅返回直接在该元素中声明的资源字典。 这与实际资源查找过程不同,其中子元素可以访问每个父元素中定义的任何资源,以递归方式向上搜索。

资源也可以由集合中的代码引用,但请注意,在声明字典的 元素引发后 Loaded ,在 XAML 中创建的资源绝对不可访问。 事实上,资源是异步分析的,甚至 Loaded 事件都不是可以引用 XAML 定义的资源的保证。 出于此原因,通常应仅访问 XAML 定义的资源作为运行时代码的一部分,或通过其他 XAML 技术(如属性值的样式或资源扩展引用)访问。 通过代码访问资源时,它实质上等效于从 XAML 进行的 DynamicResource 引用。

基础 ResourceDictionary 支持使用代码从集合内添加、删除或查询资源所需的方法。 属性 Resources 是可设置的,以支持将元素的资源集合完全替换为新的或不同的 ResourceDictionary的方案。

请注意,显示的 XAML 语法不包括 的 ResourceDictionary元素。 这是隐式集合语法的示例:可以省略表示集合元素的标记。 将改为指定作为项添加到集合的元素。 有关隐式集合和 XAML 的详细信息,请参阅 XAML 语法详细信息。 仍显式指定为元素的ResourceDictionary一种情况是,如果要引入合并字典,在这种情况下,该 通常没有子元素。ResourceDictionary 有关详细信息,请参阅 合并资源字典

XAML 属性元素用法

<object>  
  <object.Resources>  
    oneOrMoreResourceElements  
  </object.Resources>  
</object>  

XAML 值

oneOrMoreResourceElements
一个或多个对象元素,其中每个元素定义一个资源。 每个 ResourceDictionary 资源属性元素中的每个资源属性元素都必须具有 x:Key 指令的唯一值,当从 中检索值时, ResourceDictionary该指令充当唯一键。

适用于

另请参阅