FrameworkElement.TryFindResource(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
搜索具有指定键的资源,如果找到,则返回该资源。
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 具有类似的行为,只不过,如果未返回具有提供的密钥的资源,该方法将引发异常。