FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) FrameworkElement.FindResource(Object) Method

Definition

Sucht eine Ressource mit dem angegebenen Schlüssel und löst eine Ausnahme aus, wenn die angeforderte Ressource nicht gefunden wird.Searches for a resource with the specified key, and throws an exception if the requested resource is not found.

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 Object Object Object

Der Schlüsselbezeichner für die angeforderte Ressource.The key identifier for the requested resource.

Gibt zurück

Die angeforderte Ressource.The requested resource. Wenn keine Ressource mit dem angegebenen Schlüssel gefunden wurde, wird eine Ausnahme ausgelöst.If no resource with the provided key was found, an exception is thrown. Bei einer Ausnahme kann auch ein UnsetValue-Wert zurückgegeben werden.An UnsetValue value might also be returned in the exception case.

Ausnahmen

resourceKey wurde nicht gefunden, und ein Ereignishandler ist für das UnhandledException-Ereignis nicht vorhanden.resourceKey was not found and an event handler does not exist for the UnhandledException event.

- oder --or- resourceKey wurde nicht gefunden und die Handled-Eigenschaft lautet false im UnhandledException-Ereignis.resourceKey was not found and the Handled property is false in the UnhandledException event.

Beispiele

Im folgenden Beispiel wird eine benannte Ressource abgerufen und in einen geeigneten Typ umgewandelt, um eine Eigenschaft zu füllen.The following example obtains a named resource and casts it to an appropriate type to fill a property.

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 aufgerufen haben, der nicht gefunden werden kann, wird eine Ausnahme ausgelöst.If you call this method for a key that cannot be found, an exception is thrown. Wenn Sie keine Ausnahmen behandeln möchten, die sich aus dem Aufruf FindResourcevon ergeben TryFindResource , rufen Sie stattdessen auf.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResourcegibt null zurück, wenn eine angeforderte Ressource nicht gefunden werden kann und keine Ausnahme auslöst.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

Wenn die Ressource im aufrufenden Element nicht gefunden wird, wird als nächstes das übergeordnete Element in der logischen Struktur durchsucht, dann die Anwendung, dann die Themen und schließlich die Systemressourcen.If the resource is not found on the calling element, the parent element in the logical tree is searched next, then the application, then themes, and finally system resources. Diese Nachschlage Methode ist identisch mit der Art und Weise, in der die Struktur durchsucht wird, wenn eine Ressource von einem dynamischen Ressourcen Verweis im Markup angefordert wurde.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. Weitere Informationen zur Ressourcen Suche finden Sie unter XAML-Ressourcen.For more information about resource lookup, see XAML Resources.

In der Regel wandeln Sie sofort FindResource einen Rückgabewert in den Typ der Eigenschaft um, die Sie mit dem zurückgegebenen Ressourcen Wert festlegen.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

Ressourcen Schlüssel sind nicht notwendigerweise Zeichen folgen.Resource keys are not necessarily strings. Beispielsweise werden Stile für Steuerelemente auf der Design Ebene absichtlich an die Type des Steuer Elements gebunden, und Anwendungs-oder Seiten Stile für Steuerelemente verwenden normalerweise dieselbe Schlüssel Konvention.For instance, styles for controls at the theme level are deliberately keyed to the Type of the control, and application or page styles for controls typically use this same key convention. Weitere Informationen finden Sie unter Erstellen von Formaten und Vorlagen oder XAML-Ressourcen.For details, see Styling and Templating or XAML Resources.

Gilt für:

Siehe auch