Compartilhar via


FrameworkElement.TryFindResource(Object) Método

Definição

Pesquisa um recurso com a chave especificada e retorna esse recurso, se encontrado.

public:
 System::Object ^ TryFindResource(System::Object ^ resourceKey);
public object TryFindResource (object resourceKey);
member this.TryFindResource : obj -> obj
Public Function TryFindResource (resourceKey As Object) As Object

Parâmetros

resourceKey
Object

O identificador de chave do recurso a ser encontrado.

Retornos

Object

O recurso encontrado ou null se nenhum recurso fornecido key for encontrado.

Exemplos

O exemplo a seguir é implementado como um manipulador de botões, em que o botão que está sendo clicado define sua tela de fundo para um pincel definido pelo recurso obtido por meio da chamada TryFindResource em si mesmo. Isso orienta a árvore de elementos e localiza o recurso (o recurso em si é definido em XAML e não é mostrado).

void TryFind(object sender, RoutedEventArgs e)  {
    Button b = e.Source as Button;
    b.Background = (Brush)b.TryFindResource("customBrush");
}
Private Sub TryFind(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim b As Button = TryCast(e.Source, Button)
    b.Background = CType(b.TryFindResource("customBrush"), Brush)
End Sub

Comentários

Se o recurso não for encontrado no elemento de chamada, a árvore de recursos pai será pesquisada para cima pela árvore lógica, da mesma forma que a árvore seria pesquisada se um recurso fosse solicitado por chave em tempo de execução. O método retornará null somente se nenhum recurso dessa chave existir em qualquer lugar na árvore de recursos, de acordo com as condições existentes da árvore no momento em que TryFindResource é chamada.

Normalmente, você converteria imediatamente o valor retornado para o tipo da propriedade que você estava tentando definir com o valor do recurso retornado.

O FindResource método tem um comportamento semelhante, exceto que gera uma exceção se nenhum recurso com a chave fornecida foi retornado.

Aplica-se a

Confira também