Partilhar via


FrameworkElement.FindResource(Object) Método

Definição

Pesquisa um recurso com a chave especificada e gera uma exceção se o recurso solicitado não é encontrado.

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

O identificador de chave do recurso solicitado.

Retornos

O recurso solicitado. Se nenhum recurso com a chave fornecida foi encontrado, uma exceção será gerada. Um valor UnsetValue também pode ser retornado em caso de exceção.

Exceções

O resourceKey não foi encontrado e não existe um manipulador de eventos para o evento UnhandledException.

- ou -

O resourceKey não foi encontrado e a propriedade Handled é false no evento UnhandledException.

resourceKey é null.

Exemplos

O exemplo a seguir obtém um recurso nomeado e o converte em um tipo apropriado para preencher uma propriedade.

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

Comentários

Importante

Se você chamar esse método para uma chave que não pode ser encontrada, uma exceção será gerada. Se você não quiser lidar com exceções resultantes da chamada FindResource, chame TryFindResource . TryFindResource retorna null quando um recurso solicitado não pode ser encontrado e não gera uma exceção.

Se o recurso não for encontrado no elemento de chamada, o elemento pai na árvore lógica será pesquisado em seguida, o aplicativo, os temas e, por fim, os recursos do sistema. Essa metodologia de pesquisa é idêntica à forma como a árvore é pesquisada se um recurso foi solicitado por uma referência dinâmica de recurso na marcação. Para obter mais informações sobre a pesquisa de recursos, consulte Recursos XAML.

Normalmente, você converte imediatamente um FindResource valor retornado para o tipo da propriedade que você configura com o valor de recurso retornado.

As chaves de recurso não são necessariamente cadeias de caracteres. Por exemplo, os estilos para controles no nível do tema são deliberadamente chaveados para o Type do controle, e os estilos de aplicativo ou página para controles normalmente usam essa mesma convenção de chave. Para obter detalhes, consulte Estilo e modelagem ou recursos XAML.

Aplica-se a

Confira também