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

属性值

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

属性

注解

可在 Extensible Application Markup Language (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该指令充当唯一键。

适用于

另请参阅