Поделиться через


FrameworkElement.FindResource(Object) Метод

Определение

Осуществляет поиск ресурса с указанным ключом и вызывает исключение, если запрошенный ресурс не найден.

public:
 System::Object ^ FindResource(System::Object ^ resourceKey);
public object FindResource (object resourceKey);
member this.FindResource : obj -> obj
Public Function FindResource (resourceKey As Object) As Object

Параметры

resourceKey
Object

Ключевой идентификатор запрашиваемого ресурса.

Возвращаемое значение

Запрошенный ресурс. Если ресурс с указанным ключом не найден, выдается исключение. В случае исключение может быть также возвращено значение UnsetValue.

Исключения

resourceKey не найден, и обработчик событий для события UnhandledException не существует.

-или-

resourceKey не найден, и свойство Handled имеет значение false в событии UnhandledException.

resourceKey имеет значение null.

Примеры

Следующий пример получает именованный ресурс и приводит его к соответствующему типу для заполнения свойства .

void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}
Private Sub SetBGByResource(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(sender, Button)
  b.Background = CType(Me.FindResource("RainbowBrush"), Brush)
End Sub

Комментарии

Важно!

При вызове этого метода для ключа, который не удается найти, создается исключение. Если вы не хотите обрабатывать исключения, которые являются результатом вызова FindResource, вызовите TryFindResource вместо этого . TryFindResource возвращает значение null , если не удается найти запрошенный ресурс и не создает исключение.

Если ресурс не найден в вызывающем элементе, выполняется поиск родительского элемента в логическом дереве, затем приложение, затем темы и, наконец, системные ресурсы. Эта методология поиска идентична способу поиска в дереве, если ресурс был запрошен динамической ссылкой на ресурс в разметке. Дополнительные сведения о поиске ресурсов см. в разделе Ресурсы XAML.

Как правило, вы сразу же приводите возвращаемое FindResource значение к типу свойства, которое вы задаете с возвращаемым значением ресурса.

Ключи ресурсов не обязательно являются строками. Например, стили для элементов управления на уровне темы намеренно связаны с элементом Type управления, а стили приложений или страниц для элементов управления обычно используют одно и то же соглашение о ключах. Дополнительные сведения см. в разделе Стилизация и шаблонов или Ресурсы XAML.

Применяется к

См. также раздел