FrameworkElement.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

属性值

ResourceDictionary

资源中当前本地定义的字典,其中的每个资源均可通过键进行访问。

属性

注解

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

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

资源也可以由集合中的代码引用,但请注意,在声明字典的元素引发之后 Loaded ,XAML 中创建的资源绝对不可访问。 事实上,资源是异步分析的 Loaded ,甚至事件也是可以引用 XAML 定义资源的保证。 因此,通常应仅访问 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中检索值时,该指令充当唯一键。

适用于

另请参阅