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

Définition

Recherche une ressource d'après la clé spécifiée et lève une exception si la ressource demandée est introuvable.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

Paramètres

resourceKey
Object Object Object Object

Identificateur clé de la ressource demandée.The key identifier for the requested resource.

Retours

Ressource demandée.The requested resource. Si aucune ressource n'est trouvée avec la clé indiquée, une exception est levée.If no resource with the provided key was found, an exception is thrown. Une valeur UnsetValue peut également être retournée dans le cas d'une exception.An UnsetValue value might also be returned in the exception case.

Exceptions

resourceKey était introuvable et un gestionnaire d'événements n'existe pas pour l'événement UnhandledException.resourceKey was not found and an event handler does not exist for the UnhandledException event.

ou-or- resourceKey était introuvable et la propriété Handled est false dans l'événement UnhandledException.resourceKey was not found and the Handled property is false in the UnhandledException event.

Exemples

L’exemple suivant obtient une ressource nommée et la convertit en type approprié pour remplir une propriété.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

Remarques

Important

Si vous appelez cette méthode pour une clé qui est introuvable, une exception est levée.If you call this method for a key that cannot be found, an exception is thrown. Si vous ne souhaitez pas gérer les exceptions qui résultent de FindResourcel’appel TryFindResource de, appelez à la place.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResourceretourne null lorsqu’une ressource demandée est introuvable et ne lève pas d’exception.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

Si la ressource est introuvable sur l’élément appelant, l’élément parent de l’arborescence logique est recherché ensuite, puis l’application, les thèmes et enfin les ressources système.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. Cette méthodologie de recherche est identique à la manière dont l’arborescence est recherchée si une ressource a été demandée par une référence de ressource dynamique dans le balisage.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. Pour plus d’informations sur la recherche de ressources, consultez ressources XAML.For more information about resource lookup, see XAML Resources.

En général, vous effectuez immédiatement FindResource un cast d’une valeur de retour vers le type de la propriété que vous définissez avec la valeur de ressource retournée.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

Les clés de ressource ne sont pas nécessairement des chaînes.Resource keys are not necessarily strings. Par exemple, les styles pour les contrôles au niveau du thème sont délibérément indexés sur le Type du contrôle, et les styles d’application ou de page pour les contrôles utilisent généralement cette même convention de clé.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. Pour plus d’informations, consultez stylisation, création de modèles ou ressources XAML.For details, see Styling and Templating or XAML Resources.

S’applique à

Voir aussi