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.

Valori restituiti

Risorsa richiesta. Se non è stata trovata alcuna risorsa con la chiave specificata, viene generata un'eccezione. Un UnsetValue valore può anche essere restituito nel caso di eccezione.

Eccezioni

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

oppure

resourceKey non è stato trovato e la Handled proprietà si trova 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, viene eseguita la ricerca nell'elemento padre nell'albero logico, quindi nell'applicazione, nei temi e infine nelle 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, viene immediatamente eseguito il cast di un FindResource valore restituito al tipo della proprietà impostata con il valore restituito della risorsa.

Le chiavi di risorsa non sono necessariamente stringhe. Ad esempio, gli stili per i controlli a livello di tema vengono deliberatamente inseriti nella Type chiave del controllo e gli stili di applicazione o di 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