다음을 통해 공유


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

찾을 리소스의 키 식별자입니다.

반환

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 제공된 키가 있는 리소스가 반환되지 않은 경우 예외를 throw한다는 점을 제외하고 메서드의 동작은 비슷합니다.

적용 대상

추가 정보