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