Condividi tramite


Application.FindResource(Object) Metodo

Definizione

Cerca una risorsa dell'interfaccia utente, ad esempio o StyleBrush, con la chiave specificata e genera un'eccezione se la risorsa richiesta non viene trovata (vedi Risorse XAML).

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

Parametri

resourceKey
Object

Nome della risorsa da trovare.

Restituisce

Oggetto risorsa richiesto. Se la risorsa richiesta non viene trovata, viene generata l'eccezione ResourceReferenceKeyNotFoundException.

Eccezioni

Impossibile trovare la risorsa.

Esempio

L'esempio seguente illustra come usare FindResource per trovare una risorsa e gestire ResourceReferenceKeyNotFoundException se la risorsa non viene trovata.

void findResourceButton_Click(object sender, RoutedEventArgs e) {
  try {
    object resource = Application.Current.FindResource("UnfindableResource");
  }
  catch (ResourceReferenceKeyNotFoundException ex) {
    MessageBox.Show("Resource not found.");
  }
}
Private Sub findResourceButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Try
    Dim resource As Object = Application.Current.FindResource("UnfindableResource")
  Catch ex As ResourceReferenceKeyNotFoundException
    MessageBox.Show("Resource not found.")
  End Try
End Sub

Commenti

FindResource esaminerà innanzitutto le risorse dell'ambito dell'applicazione per la risorsa specificata. Le risorse di ambito applicazione vengono gestite da Applicatione vengono esposte dalla Resources proprietà . Se la risorsa specificata non viene trovata nel set di risorse dell'ambito dell'applicazione, FindResource cerca quindi le risorse di sistema. Le risorse di sistema sono risorse della shell definite dall'utente e includono colori, tipi di carattere e configurazioni della shell. Questi oggetti vengono esposti rispettivamente dai SystemColorstipi , SystemFontse SystemParameters come proprietà statiche. Per acquisirli FindResource , questi tipi espongono anche proprietà chiave risorsa progettate per essere passate a FindResource, IconWidthKeyad esempio .

Poiché FindResource restituisce un oggetto, è necessario eseguire il cast del valore restituito al tipo appropriato se la risorsa viene trovata.

Importante

Se si chiama questo metodo per una chiave che non è possibile trovare, viene generata un'eccezione. Se non si desidera gestire le eccezioni risultanti dalla chiamata FindResourcea , chiamare TryFindResource ; TryFindResource restituisce invece un null riferimento quando non è possibile trovare una risorsa richiesta e non genera un'eccezione.

Questo metodo è thread-safe e può essere chiamato da qualsiasi thread.

Si applica a

Vedi anche