FrameworkElement.FindResource(Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Busca un recurso con la clave especificada y produce una excepción si no se encuentra el recurso solicitado.
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
Identificador de clave para el recurso solicitado.
Devoluciones
Recurso solicitado. Si no se encuentra un recurso con la clave proporcionada, se produce una excepción. También se podría devolver un valor UnsetValue en caso de excepción.
Excepciones
No se encontró resourceKey
y un controlador de eventos no existe para el evento UnhandledException.
o bien
No se encontró resourceKey
y la propiedad Handled es false
en el evento UnhandledException.
resourceKey
es null
.
Ejemplos
En el ejemplo siguiente se obtiene un recurso con nombre y se convierte en un tipo adecuado para rellenar una propiedad.
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. Si no desea controlar las excepciones resultantes de llamar a FindResource, llame TryFindResource a en su lugar.
TryFindResource devuelve null
cuando no se encuentra un recurso solicitado y no produce una excepción.
Si el recurso no se encuentra en el elemento que realiza la llamada, se busca en el elemento primario del árbol lógico siguiente, la aplicación, los temas y, por último, los recursos del sistema. Esta metodología de búsqueda es idéntica a la forma en que se busca el árbol si una referencia de recursos dinámicos solicitó un recurso en el marcado. Para obtener más información sobre la búsqueda de recursos, consulta Recursos XAML.
Normalmente, convierte inmediatamente un FindResource valor devuelto al tipo de la propiedad que establece con el valor de recurso devuelto.
Las claves de recursos no son necesariamente cadenas. Por ejemplo, los estilos de los controles en el nivel de tema se claven deliberadamente para el Type del control, y los estilos de aplicación o página para los controles suelen usar esta misma convención de clave. Para obtener más información, consulta Aplicar estilos y plantillas o recursos XAML.