如何:在代码中检索资源

更新:2007 年 11 月

可以在代码中访问和使用嵌入在 XAML 标记中的逻辑资源。每个 Windows Presentation Foundation (WPF) 控件都在一个名为 Resources 的集合中公开其资源,同时公开一个名为 FindResource 的方法,该方法可用来检索对单个资源的引用。您可以通过使用 FindResource 方法或直接访问 Resources 集合来检索资源。

使用 FindResource 方法访问代码中的资源

  • 使用 FindResource 方法来获取对已命名资源的引用,该资源是为控件或窗口在 XAML 标记中定义的。下面的示例演示如何获取对名为 myBrush 的 SolidColorBrush(它在当前窗口中被定义为资源)的引用。

    Dim aBrush As SolidColorBrush
    aBrush = CType(Me.FindResource("myBrush"), SolidColorBrush)
    
    SolidColorBrush aBrush;
    aBrush = (SolidColorBrush)this.FindResource("myBrush");
    
    说明:

    如果无法找到资源,FindResource 将引发异常。您可以通过改用 TryFindResource 方法来避免在找不到资源时引发异常,如果找不到资源,该方法会返回一个 null 值。

使用 Resources 集合访问代码中的资源

  • 使用资源的名称从 Resources 集合中检索该资源。下面的示例演示如何获取对名为 myBrush 的 SolidColorBrush(它在当前窗口中被定义为资源)的引用。

    Dim aBrush As SolidColorBrush
    aBrush = CType(Me.Resources("myBrush"), SolidColorBrush)
    
    SolidColorBrush aBrush;
    aBrush = (SolidColorBrush)this.Resources["myBrush"];
    

请参见

任务

如何:获取和设置应用程序范围的资源

概念

资源概述

资源和代码

其他资源

资源示例 (WPF)

使用资源