Application.FindResource(Object) Metod

Definition

Söker efter en användargränssnittsresurs (UI), till exempel en Style eller Brush, med den angivna nyckeln, och genererar ett undantag om den begärda resursen inte hittas (se XAML-resurser).

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

Parametrar

resourceKey
Object

Namnet på resursen som ska hittas.

Returer

Det begärda resursobjektet. Om den begärda resursen inte hittas genereras en ResourceReferenceKeyNotFoundException .

Undantag

Det går inte att hitta resursen.

Exempel

I följande exempel visas hur du använder FindResource för att hitta en resurs och för att hantera ResourceReferenceKeyNotFoundException om resursen inte hittas.

void findResourceButton_Click(object sender, RoutedEventArgs e) {
  try {
    object resource = Application.Current.FindResource("UnfindableResource");
  }
  catch (ResourceReferenceKeyNotFoundException ex) {
    MessageBox.Show("Resource not found.");
  }
}
Private Sub findResourceButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Try
    Dim resource As Object = Application.Current.FindResource("UnfindableResource")
  Catch ex As ResourceReferenceKeyNotFoundException
    MessageBox.Show("Resource not found.")
  End Try
End Sub

Kommentarer

FindResource söker först efter den angivna resursen i programomfattningsresurserna. Programomfattningsresurser hanteras av Applicationoch exponeras från Resources egenskapen. Om den angivna resursen inte hittas i uppsättningen med programomfattningsresurser FindResource söker du sedan igenom systemresurserna. Systemresurser är gränssnittsresurser som definieras av användaren och innehåller färger, teckensnitt och gränssnittskonfigurationer. Dessa exponeras från typerna SystemColors, SystemFontsrespektive SystemParameters som statiska egenskaper. Om du vill använda FindResource för att hämta dem exponerar de här typerna även resursnyckelegenskaper som är utformade för att skickas till , till FindResourceexempel IconWidthKey.

Eftersom FindResource returnerar ett objekt måste du omvandla det returnerade värdet till rätt typ om resursen hittas.

Important

Om du anropar den här metoden för en nyckel som inte kan hittas genereras ett undantag. Om du inte vill hantera undantag som uppstår vid anropet FindResourceTryFindResource anropar du i stället. TryFindResource Returnerar en null referens när det inte går att hitta en begärd resurs och inte utlöser ett undantag.

Den här metoden är trådsäker och kan anropas från valfri tråd.

Gäller för

Se även