FrameworkContentElement.FindResource(Object) Methode

Definition

Sucht nach einer 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 der zu findenden Ressource.

Gibt zurück

Object

Die gefundene Ressource oder null, wenn keine übereinstimmende Ressource gefunden wurde (bei null wird ebenfalls eine Ausnahme ausgelöst).

Ausnahmen

Der angeforderte Ressourcenschlüssel wurde nicht gefunden.

resourceKey ist null.

Beispiele

Im folgenden Beispiel wird eine Ressource gefunden, die im Markup definiert ist, und wendet sie auf eine bestimmte Eigenschaft eines Elements als Reaktion auf ein weitergeleitetes Ereignis an.

void SetBGByResource(object sender, RoutedEventArgs e)
{
    Block b = sender as Block;
    b.Background = (Brush)this.FindResource("RainbowBrush");
}
Private Sub SetBGByResource(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim b As Block = TryCast(sender, Block)
    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 ausnahmen für diesen Fall nicht behandeln möchten, sollten Sie stattdessen aufrufen TryFindResource. TryFindResource gibt zurück null , wenn keine Ressource gefunden wird und keine Ausnahme ausgelöst wird.

Wenn die Ressource nicht auf dem aufrufenden Element gefunden wird, wird die übergeordnete Struktur mit der logischen Struktur durchsucht, genauso wie die Struktur durchsucht wird, wenn eine Ressource zum Laufzeitvorgang angefordert wurde.

Normalerweise würden Sie sofort den Rückgabewert in den Typ der Eigenschaft umwandeln, die Sie mit dem zurückgegebenen Ressourcenwert festlegen möchten.

Gilt für