Прочитать на английском

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


FrameworkElement.TryFindResource(Object) Метод

Определение

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

C#
public object TryFindResource(object resourceKey);

Параметры

resourceKey
Object

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

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

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

Примеры

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

C#
void TryFind(object sender, RoutedEventArgs e)  {
    Button b = e.Source as Button;
    b.Background = (Brush)b.TryFindResource("customBrush");
}

Комментарии

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

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

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

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

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

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