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

Definizione

Cerca una risorsa con la chiave specificata e genera un'eccezione se la risorsa richiesta non viene trovata.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

Parametri

resourceKey
Object Object Object Object

Identificatore della chiave per la risorsa richiesta.The key identifier for the requested resource.

Restituisce

Risorsa richiesta.The requested resource. Se non viene trovata una risorsa con la chiave specificata, viene generata un'eccezione.If no resource with the provided key was found, an exception is thrown. In tal caso potrebbe anche essere restituito un valore UnsetValue.An UnsetValue value might also be returned in the exception case.

Eccezioni

resourceKey non è trovato e un gestore eventi non esiste per l'evento UnhandledException.resourceKey was not found and an event handler does not exist for the UnhandledException event.

-oppure--or- resourceKey non è trovato e la proprietà Handled è false nell'evento UnhandledException.resourceKey was not found and the Handled property is false in the UnhandledException event.

Esempi

Nell'esempio seguente viene ottenuta una risorsa denominata e ne viene eseguito il cast a un tipo appropriato per riempire una proprietà.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

Commenti

Importante

Se si chiama questo metodo per una chiave che non è possibile trovare, viene generata un'eccezione.If you call this method for a key that cannot be found, an exception is thrown. Se non si desidera gestire le eccezioni derivanti dalla chiamata FindResourcea, TryFindResource chiamare invece.If you do not want to handle exceptions that result from calling FindResource, call TryFindResource instead. TryFindResourcerestituisce null quando non è possibile trovare una risorsa richiesta e non genera un'eccezione.TryFindResource returns null when a requested resource cannot be found, and does not throw an exception.

Se la risorsa non viene trovata nell'elemento chiamante, l'elemento padre nell'albero logico viene cercato successivamente, quindi l'applicazione, i temi e infine le risorse di sistema.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. Questa metodologia di ricerca è identica a quella in cui viene eseguita la ricerca nell'albero se una risorsa è stata richiesta da un riferimento a una risorsa dinamica nel markup.This lookup methodology is identical to how the tree is searched if a resource were requested by a dynamic resource reference in markup. Per altre informazioni sulla ricerca di risorse, vedere risorse XAML.For more information about resource lookup, see XAML Resources.

In genere, si esegue immediatamente FindResource il cast di un valore restituito al tipo della proprietà impostata con il valore della risorsa restituita.Typically, you immediately cast a FindResource return value to the type of the property that you setting with the returned resource value.

Le chiavi di risorsa non sono necessariamente stringhe.Resource keys are not necessarily strings. Gli stili per i controlli a livello di tema, ad esempio, sono deliberatamente configurati per l'oggetto del controllo, mentre gli stili dell'applicazione o della pagina per i Type controlli utilizzano in genere la stessa convenzione di chiave.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. Per informazioni dettagliate, vedere applicazione di stili e modelli o risorse XAML.For details, see Styling and Templating or XAML Resources.

Si applica a

Vedi anche