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

Definición

Busca un recurso con la clave especificada y produce una excepción si no se encuentra el recurso solicitado.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

Parámetros

resourceKey
Object Object Object Object

Identificador de clave para el recurso solicitado.The key identifier for the requested resource.

Devoluciones

Recurso solicitado.The requested resource. Si no se encuentra un recurso con la clave proporcionada, se produce una excepción.If no resource with the provided key was found, an exception is thrown. También se podría devolver un valor UnsetValue en caso de excepción.An UnsetValue value might also be returned in the exception case.

Excepciones

No se encontró resourceKey y un controlador de eventos no existe para el evento UnhandledException.resourceKey was not found and an event handler does not exist for the UnhandledException event.

O bien-or- No se encontró resourceKey y la propiedad Handled es false en el evento UnhandledException.resourceKey was not found and the Handled property is false in the UnhandledException event.

Ejemplos

En el ejemplo siguiente se obtiene un recurso con nombre y se convierte en un tipo adecuado para rellenar una propiedad.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

Comentarios

Importante

Si llama a este método para una clave que no se encuentra, se produce una excepción.If you call this method for a key that cannot be found, an exception is thrown. Si no desea controlar excepciones que son el resultado de llamar a FindResource, llame TryFindResource a en su lugar.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResourceDevuelve null cuando no se puede encontrar un recurso solicitado y no inicia una excepción.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

Si el recurso no se encuentra en el elemento que realiza la llamada, se busca en el elemento primario del árbol lógico, después en la aplicación, después en los temas y, finalmente, en los recursos del sistema.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. Esta metodología de búsqueda es idéntica a la manera en que se busca en el árbol si un recurso se solicitó mediante una referencia de recurso dinámico en el marcado.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. Para obtener más información sobre la búsqueda de recursos, vea recursos XAML.For more information about resource lookup, see XAML Resources.

Normalmente, se convierte inmediatamente un FindResource valor devuelto al tipo de la propiedad que se establece con el valor de recurso devuelto.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

Las claves de recurso no son necesariamente cadenas.Resource keys are not necessarily strings. Por ejemplo, los estilos de los controles en el nivel de tema se codifican Type deliberadamente en el del control, y los estilos de página o de aplicación de los controles suelen usar esta misma Convención de claves.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. Para obtener más información, vea aplicar estilos y plantillas o recursos XAML.For details, see Styling and Templating or XAML Resources.

Se aplica a

Consulte también: