Application.FindResource(Object) Metoda

Definicja

Wyszukuje zasób interfejsu użytkownika, taki jak lub StyleBrush, z określonym kluczem i zgłasza wyjątek, jeśli żądany zasób nie zostanie znaleziony (zobacz Zasoby XAML).

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

Parametry

resourceKey
Object

Nazwa zasobu do znalezienia.

Zwraca

Żądany obiekt zasobu. Jeśli żądany zasób nie zostanie znaleziony, ResourceReferenceKeyNotFoundException zostanie zgłoszony błąd.

Wyjątki

Nie można odnaleźć zasobu.

Przykłady

W poniższym przykładzie pokazano, jak znaleźć FindResource zasób i obsłużyć ResourceReferenceKeyNotFoundException , jeśli zasób nie zostanie znaleziony.

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

Uwagi

FindResource Najpierw zajrzy do zasobów zakresu aplikacji dla określonego zasobu. Zasoby zakresu aplikacji są zarządzane przez Applicationusługę Resources i są udostępniane z właściwości . Jeśli określony zasób nie zostanie znaleziony w zestawie zasobów zakresu aplikacji, FindResource następnie przeszukuje zasoby systemowe. Zasoby systemowe to zasoby powłoki zdefiniowane przez użytkownika i obejmują kolory, czcionki i konfiguracje powłoki. Są one widoczne odpowiednio z SystemColorstypów , SystemFontsi SystemParameters jako właściwości statycznych. Aby użyć FindResource ich do ich uzyskania, te typy uwidaczniają również właściwości klucza zasobu, które mają być przekazywane do FindResourceprogramu , na przykład IconWidthKey.

Ponieważ FindResource zwraca obiekt, należy rzutować zwróconą wartość do odpowiedniego typu, jeśli zasób zostanie znaleziony.

Ważne

Jeśli wywołasz tę metodę dla klucza, którego nie można odnaleźć, zostanie zgłoszony wyjątek. Jeśli nie chcesz obsługiwać wyjątków wynikających z wywołania FindResourcemetody , wywołaj TryFindResource zamiast tego TryFindResource zwraca null odwołanie, gdy nie można odnaleźć żądanego zasobu i nie zgłasza wyjątku.

Ta metoda jest bezpieczna wątkiem i może być wywoływana z dowolnego wątku.

Dotyczy

Zobacz też