FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) Method

Определение

Осуществляет поиск ресурса с указанным ключом и вызывает исключение, если запрошенный ресурс не найден.Searches for a resource with the specified key, and throws an exception if the requested resource is not found.

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 Object Object Object

Ключевой идентификатор запрашиваемого ресурса.The key identifier for the requested resource.

Возвраты

Запрошенный ресурс.The requested resource. Если ресурс с указанным ключом не найден, выдается исключение.If no resource with the provided key was found, an exception is thrown. В случае исключение может быть также возвращено значение UnsetValue.An UnsetValue value might also be returned in the exception case.

Исключения

resourceKey не найден, и обработчик событий для события UnhandledException не существует.resourceKey was not found and an event handler does not exist for the UnhandledException event.

- или --or- resourceKey не найден, и свойство Handled имеет значение false в событии UnhandledException.resourceKey was not found and the Handled property is false in the UnhandledException event.

Свойство resourceKey имеет значение null.resourceKey is null.

Примеры

Следующий пример получает именованный ресурс и приводит его к соответствующему типу для заполнения свойства.The following example obtains a named resource and casts it to an appropriate type to fill a property.

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

Комментарии

Важно!

При вызове этого метода для ключа, который не удается найти, создается исключение.If you call this method for a key that cannot be found, an exception is thrown. Если вы не хотите выполнять обработку исключений, возникающих в результате FindResourceвызова метода TryFindResource , вызовите вместо него.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResourceВозвращает null , когда не удается найти запрошенный ресурс и не создает исключение.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

Если ресурс не найден в вызывающем элементе, далее выполняется поиск родительского элемента в логическом дереве, затем приложение, затем темы и, наконец, системные ресурсы.If the resource is not found on the calling element, the parent element in the logical tree is searched next, then the application, then themes, and finally system resources. Эта методология поиска аналогична поиску в дереве, если ресурс был запрошен ссылкой на динамический ресурс в разметке.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. Дополнительные сведения о поиске ресурсов см. в разделе ресурсы XAML.For more information about resource lookup, see XAML Resources.

Как правило, FindResource возвращаемое значение немедленно приводится к типу свойства, которое задается возвращаемым значением ресурса.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

Ключи ресурсов не обязательно являются строками.Resource keys are not necessarily strings. Например, стили для элементов управления на уровне темы намеренно подключаются к Type элементу управления, а стили приложения или страницы для элементов управления обычно используют это же соглашение о ключах.For instance, styles for controls at the theme level are deliberately keyed to the Type of the control, and application or page styles for controls typically use this same key convention. Дополнительные сведения см. в разделе Стилизация и создание шаблонов или ресурсов XAML.For details, see Styling and Templating or XAML Resources.

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

Дополнительно