FrameworkElement.FindResource(Object) 메서드

정의

지정된 키가 있는 리소스를 검색하고 요청된 리소스를 찾을 수 없는 경우 예외를 throw합니다.

public:
 System::Object ^ FindResource(System::Object ^ resourceKey);
public object FindResource(object resourceKey);
member this.FindResource : obj -> obj
Public Function FindResource (resourceKey As Object) As Object

매개 변수

resourceKey
Object

요청된 리소스의 키 식별자입니다.

반품

요청된 리소스입니다. 제공된 키가 있는 리소스가 없으면 예외가 throw됩니다. UnsetValue 예외 사례에서도 값이 반환될 수 있습니다.

예외

resourceKey 을(를) 찾을 수 없으며 이벤트에 대한 UnhandledException 이벤트 처리기가 없습니다.

-또는-

resourceKey 을(를) Handled 찾을 수 없으며 속성이 false 이벤트에 있습니다 UnhandledException .

resourceKeynull입니다.

예제

다음 예제에서는 명명된 리소스를 가져와 속성을 채우기 위해 적절한 형식으로 캐스팅합니다.

void SetBGByResource(object sender, RoutedEventArgs e)
{
  Button b = sender as Button;
  b.Background = (Brush)this.FindResource("RainbowBrush");
}
Private Sub SetBGByResource(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim b As Button = TryCast(sender, Button)
  b.Background = CType(Me.FindResource("RainbowBrush"), Brush)
End Sub

설명

Important

찾을 수 없는 키에 대해 이 메서드를 호출하면 예외가 throw됩니다. 호출 FindResource로 인한 예외를 처리하지 않으려면 대신 호출 TryFindResource 합니다. TryFindResource 는 요청된 리소스를 찾을 수 없고 예외를 throw하지 않는 경우를 반환 null 합니다.

호출 요소에서 리소스를 찾을 수 없는 경우 논리 트리의 부모 요소가 다음에 검색된 다음 애플리케이션, 테마 및 마지막으로 시스템 리소스를 검색합니다. 이 조회 방법론은 태그의 동적 리소스 참조에 의해 리소스가 요청된 경우 트리를 검색하는 방법과 동일합니다. 리소스 조회에 대한 자세한 내용은 XAML 리소스를 참조하세요.

일반적으로 반환된 리소스 값을 사용하여 설정한 속성의 형식으로 반환 값을 즉시 캐스팅 FindResource 합니다.

리소스 키가 반드시 문자열은 아닙니다. 예를 들어 테마 수준의 컨트롤에 대한 스타일은 의도적으로 컨트롤의 키로 Type 지정되고, 컨트롤의 애플리케이션 또는 페이지 스타일은 일반적으로 이 동일한 키 규칙을 사용합니다. 자세한 내용은 스타일 지정 및 템플릿 또는 XAML 리소스를 참조하세요.

적용 대상

추가 정보