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.