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 如果未找到提供 resourceKey 的资源。

示例

以下示例作为按钮处理程序实现,其中被单击的按钮将背景设置为通过调用 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 具有类似的行为,只是如果未返回具有提供密钥的资源,则会引发异常。

适用于

另请参阅