Freigeben über


FrameworkElement.FindResource(Object) Methode

Definition

Sucht eine Ressource mit dem angegebenen Schlüssel und löst eine Ausnahme aus, wenn die angeforderte Ressource nicht gefunden wird.

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

Parameter

resourceKey
Object

Der Schlüsselbezeichner für die angeforderte Ressource.

Gibt zurück

Die angeforderte Ressource. Wenn keine Ressource mit dem angegebenen Schlüssel gefunden wurde, wird eine Ausnahme ausgelöst. Bei einer Ausnahme kann auch ein UnsetValue-Wert zurückgegeben werden.

Ausnahmen

resourceKey wurde nicht gefunden, und ein Ereignishandler ist für das UnhandledException-Ereignis nicht vorhanden.

- oder -

resourceKey wurde nicht gefunden und die Handled-Eigenschaft lautet false im UnhandledException-Ereignis.

resourceKey ist null.

Beispiele

Im folgenden Beispiel wird eine benannte Ressource abgerufen und in einen entsprechenden Typ umgewandelt, um eine Eigenschaft zu füllen.

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

Hinweise

Wichtig

Wenn Sie diese Methode für einen Schlüssel aufrufen, der nicht gefunden werden kann, wird eine Ausnahme ausgelöst. Wenn Sie keine Ausnahmen behandeln möchten, die sich aus dem Aufruf FindResourceergeben, rufen Sie stattdessen auf TryFindResource . TryFindResource gibt zurück null , wenn eine angeforderte Ressource nicht gefunden werden kann, und löst keine Ausnahme aus.

Wenn die Ressource nicht im aufrufenden Element gefunden wird, wird als Nächstes das übergeordnete Element in der logischen Struktur, dann die Anwendung, dann die Designs und schließlich die Systemressourcen durchsucht. Diese Nachschlagemethodik ist identisch mit der Suche nach der Struktur, wenn eine Ressource von einem dynamischen Ressourcenverweis im Markup angefordert wurde. Weitere Informationen zur Ressourcensuche finden Sie unter XAML-Ressourcen.

In der Regel wandeln Sie sofort einen FindResource Rückgabewert in den Typ der Eigenschaft um, die Sie mit dem zurückgegebenen Ressourcenwert festlegen.

Ressourcenschlüssel sind nicht unbedingt Zeichenfolgen. Für instance werden Stile für Steuerelemente auf Designebene bewusst auf die Type des Steuerelements festgelegt, und Anwendungs- oder Seitenformate für Steuerelemente verwenden in der Regel dieselbe Schlüsselkonvention. Ausführliche Informationen finden Sie unter Formatieren und Vorlagen oder XAML-Ressourcen.

Gilt für:

Weitere Informationen