다음을 통해 공유


Application.FindResource(Object) 메서드

정의

지정된 키를 사용하여 또는 Brush와 같은 Style UI(사용자 인터페이스) 리소스를 검색하고 요청된 리소스를 찾을 수 없는 경우 예외를 throw합니다(XAML 리소스 참조).

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

찾을 리소스 이름입니다.

반환

요청된 리소스 개체입니다. 요청된 리소스가 없으면 ResourceReferenceKeyNotFoundException이 throw됩니다.

예외

리소스를 찾을 수 없습니다.

예제

다음 예제에서는 을 사용하여 FindResource 리소스를 찾고 리소스를 찾을 수 없는 경우 를 처리하는 ResourceReferenceKeyNotFoundException 방법을 보여줍니다.

void findResourceButton_Click(object sender, RoutedEventArgs e) {
  try {
    object resource = Application.Current.FindResource("UnfindableResource");
  }
  catch (ResourceReferenceKeyNotFoundException ex) {
    MessageBox.Show("Resource not found.");
  }
}
Private Sub findResourceButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Try
    Dim resource As Object = Application.Current.FindResource("UnfindableResource")
  Catch ex As ResourceReferenceKeyNotFoundException
    MessageBox.Show("Resource not found.")
  End Try
End Sub

설명

FindResource 지정된 된 리소스에 대 한 애플리케이션 범위 리소스에서 먼저 살펴보겠습니다. 애플리케이션 범위 리소스를 관리 하 Application에서 노출 되는 Resources 속성입니다. 지정된 된 리소스는 애플리케이션 범위 리소스 집합에 없는 경우 FindResource 옆에는 시스템 리소스를 검색 합니다. 시스템 리소스는 사용자가 정의한 셸 리소스이며 색, 글꼴 및 셸 구성을 포함합니다. 이러한 속성은 각각 , SystemFontsSystemParameters 형식에서 SystemColors정적 속성으로 노출됩니다. 이를 획득하는 데 사용하기 FindResource 위해 이러한 형식은 에 전달 FindResource되도록 설계된 리소스 키 속성(예 IconWidthKey: )도 노출합니다.

FindResource 는 개체를 반환하므로 리소스가 발견되면 반환된 값을 적절한 형식으로 캐스팅해야 합니다.

중요

찾을 수 없는 키에 대해 이 메서드를 호출하면 예외가 throw됩니다. 를 호출FindResource하여 발생하는 예외를 처리하지 않으려면 을 대신 TryFindResource 호출 TryFindResource 합니다. 요청된 리소스를 찾을 수 없을 때 참조를 반환 null 하고 예외를 throw하지 않습니다.

이 메서드는 스레드로부터 안전하며 모든 스레드에서 호출할 수 있습니다.

적용 대상

추가 정보