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

要查找的资源的键标识符。

返回

找到的资源;如果未找到具有所提供 key 的资源,则为 null

示例

以下示例作为按钮处理程序实现,其中被单击的按钮将其背景设置为通过调用 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

注解

如果在调用元素上找不到资源,则会通过逻辑树向上搜索父资源树,其方式与在运行时键请求资源时搜索该树的方式相同。 仅当资源树中的任何位置都不存在该键的资源(根据调用时TryFindResource树的现有条件),方法才返回 null

通常,你会立即将返回值强制转换为尝试使用返回的资源值设置的属性的类型。

方法 FindResource 具有类似的行为,只不过,如果未返回具有提供的密钥的资源,该方法将引发异常。

适用于

另请参阅