FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) Method

정의

지정된 키를 사용하여 리소스를 검색하고 요청된 리소스가 없으면 예외를 throw합니다.Searches for a resource with the specified key, and throws an exception if the requested resource is not found.

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 Object Object Object

요청된 리소스의 키 식별자입니다.The key identifier for the requested resource.

반환

요청된 리소스입니다.The requested resource. 제공된 키를 포함하는 리소스가 없으면 예외가 throw됩니다.If no resource with the provided key was found, an exception is thrown. 예외가 발생하면 UnsetValue 값도 반환될 수 있습니다.An UnsetValue value might also be returned in the exception case.

예외

resourceKey가 발견되었거나 UnhandledException 이벤트에 대한 이벤트 처리기가 존재하지 않습니다.resourceKey was not found and an event handler does not exist for the UnhandledException event.

또는-or- resourceKey가 발견되지 않았으며 Handled 이벤트에서 UnhandledException 속성이 false입니다.resourceKey was not found and the Handled property is false in the UnhandledException event.

예제

다음 예제에서는 명명 된 리소스를 가져오고 속성에 맞게 적절 한 형식으로 캐스팅 합니다.The following example obtains a named resource and casts it to an appropriate type to fill a property.

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

설명

중요

찾을 수 없는 키에 대 한이 메서드를 호출 하면 예외가 throw 됩니다.If you call this method for a key that cannot be found, an exception is thrown. 경우 원하지 않는 호출에서 발생 하는 예외를 처리할 FindResource, 호출 TryFindResource 대신 합니다.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResource 반환 null 요청된 된 리소스를 찾을 수 없으면 시점과 예외를 throw 하지 않습니다.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

리소스를 호출 하는 요소에 없는 경우 검색된 다음 애플리케이션을 다음 테마 및 마지막으로 시스템 리소스를 논리적 트리에서 부모 요소는 합니다.If the resource is not found on the calling element, the parent element in the logical tree is searched next, then the application, then themes, and finally system resources. 이 조회 방법론은 태그에 대 한 동적 리소스 참조 여 리소스를 요청 하는 경우 트리를 검색 하는 방법을 동일 합니다.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. 리소스 조회에 대 한 자세한 내용은 참조 하세요. XAML 리소스합니다.For more information about resource lookup, see XAML Resources.

일반적으로 즉시 캐스팅 하는 FindResource 반환 값 속성의 형식에는 반환 되는 리소스 값을 사용 하 여 설정 합니다.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

리소스 키 필요가 없는 문자열입니다.Resource keys are not necessarily strings. 예를 들어 컨트롤 테마 수준으로 지정에 대 한 스타일을 Type 컨트롤 및 애플리케이션 또는 페이지 스타일에 대 한 컨트롤 일반적으로 사용 하 여이 동일한 키 규칙입니다.For instance, styles for controls at the theme level are deliberately keyed to the Type of the control, and application or page styles for controls typically use this same key convention. 세부 정보를 참조 하세요 스타일 및 템플릿 하거나 XAML 리소스합니다.For details, see Styling and Templating or XAML Resources.

적용 대상

추가 정보