FrameworkElement.TryFindResource(Object) Метод

Определение

Ищет ресурс с указанным ключом и возвращает его, если он найден.Searches for a resource with the specified key, and returns that resource if found.

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

Ключевой идентификатор искомого ресурса.The key identifier of the resource to be found.

Возвраты

Найденный ресурс или значение null, если ресурс с указанным key не обнаружен.The found resource, or null if no resource with the provided key is found.

Примеры

Следующий пример реализуется в виде обработчика кнопки, где нажата кнопка задает для своего фона определенную для ресурса кисть, полученную путем вызова TryFindResource на самом себе.The following example is implemented as a button handler, where the button being clicked sets its background to a resource-defined brush obtained by calling TryFindResource on itself. При этом выполняется обход дерева элементов и поиск ресурса (сам ресурс определяется в XAMLXAML и не отображается).This walks the element tree and finds the resource (the resource itself is defined in XAMLXAML and is not shown).

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

Комментарии

Если ресурс не найден в вызывающем элементе, родительский дерево ресурсов ищется вверх по логическому дереву, точно так же, как если бы в дереве был запрошен ресурс по ключу во время выполнения.If the resource is not found on the calling element, the parent resource tree is searched upward through the logical tree, in the same way that the tree would be searched if a resource were requested by key at run time. Метод возвращает null только в том случае, если ни один ресурс этого ключа не существовал в дереве ресурсов в соответствии с существующими условиями дерева во время вызова TryFindResource.The method returns null only if no resource of that key existed anywhere in the resource tree, per the existing conditions of the tree at the time that TryFindResource is called.

Обычно возвращаемое значение будет немедленно приведено к типу свойства, которое вы пытались задать с возвращенным значением ресурса.Typically you would immediately cast the return value to the type of the property that you were attempting to set with the returned resource value.

Метод FindResource имеет аналогичное поведение, за исключением того, что он вызывает исключение, если не был возвращен ресурс с указанным ключом.The FindResource method has similar behavior, except that it throws an exception if no resource with the provided key was returned.

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

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