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


FrameworkElement.TryFindResource(Object) Метод

Определение

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

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

Параметры

resourceKey
Object

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

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

Найденный ресурс или значение null, если ресурс с указанным key не обнаружен.

Примеры

Следующий пример реализуется в виде обработчика кнопки, где нажатая кнопка задает в качестве фона определяемую ресурсом кисть, полученную путем вызова TryFindResource для себя. При этом выполняется обход дерева элементов и поиск ресурса (сам ресурс определен в XAML и не отображается).

void TryFind(object sender, RoutedEventArgs e)  {
    Button b = e.Source as Button;
    b.Background = (Brush)b.TryFindResource("customBrush");
}
Private Sub TryFind(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim b As Button = TryCast(e.Source, Button)
    b.Background = CType(b.TryFindResource("customBrush"), Brush)
End Sub

Комментарии

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

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

Метод FindResource имеет аналогичное поведение, за исключением того, что он создает исключение, если не был возвращен ресурс с указанным ключом.

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

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