FrameworkElement.FindResource(Object) Metodo

Definizione

Cerca una risorsa con la chiave specificata e genera un'eccezione se la risorsa richiesta non viene trovata.

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

Identificatore della chiave per la risorsa richiesta.

Restituisce

Risorsa richiesta. Se non viene trovata una risorsa con la chiave specificata, viene generata un'eccezione. In tal caso potrebbe anche essere restituito un valore UnsetValue.

Eccezioni

resourceKey non è trovato e un gestore eventi non esiste per l'evento UnhandledException.

-oppure-

resourceKey non è trovato e la proprietà Handled è false nell'evento UnhandledException.

resourceKey è null.

Esempio

Nell'esempio seguente viene ottenuta una risorsa denominata e ne viene eseguito il cast a un tipo appropriato per riempire una proprietà.

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. Se non si desidera gestire le eccezioni risultanti dalla chiamata FindResourcea , chiamare TryFindResource invece . TryFindResource restituisce null quando non è possibile trovare una risorsa richiesta e non genera un'eccezione.

Se la risorsa non viene trovata nell'elemento chiamante, l'elemento padre nell'albero logico viene cercato successivamente, l'applicazione, i temi e infine le risorse di sistema. Questa metodologia di ricerca è identica alla modalità di ricerca dell'albero se una risorsa è stata richiesta da un riferimento di risorsa dinamica nel markup. Per altre informazioni sulla ricerca delle risorse, vedi Risorse XAML.

In genere, si esegue immediatamente il cast di un FindResource valore restituito al tipo della proprietà impostata con il valore della risorsa restituito.

Le chiavi di risorsa non sono necessariamente stringhe. Ad esempio, gli stili per i controlli a livello di tema vengono deliberatamente inseriti Type nella chiave del controllo e gli stili dell'applicazione o della pagina per i controlli usano in genere questa stessa convenzione chiave. Per informazioni dettagliate, vedi Applicazione di stili e modelli o risorse XAML.

Si applica a

Vedi anche