Udostępnij za pośrednictwem


FrameworkElement.FindResource(Object) Metoda

Definicja

Wyszukuje zasób z określonym kluczem i zgłasza wyjątek, jeśli żądany zasób nie zostanie znaleziony.

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

Identyfikator klucza żądanego zasobu.

Zwraca

Żądany zasób. Jeśli nie znaleziono żadnego zasobu z podanym kluczem, zostanie zgłoszony wyjątek. Wartość UnsetValue może być również zwracana w przypadku wyjątku.

Wyjątki

resourceKey nie można odnaleźć i program obsługi zdarzeń nie istnieje dla UnhandledException zdarzenia.

-lub-

resourceKey nie można odnaleźć i Handled właściwość jest false w UnhandledException zdarzeniu.

resourceKey to null.

Przykłady

Poniższy przykład uzyskuje nazwany zasób i rzutuje go do odpowiedniego typu w celu wypełnienia właściwości.

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

Uwagi

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, które wynikają z wywołania FindResourcemetody , wywołaj TryFindResource zamiast tego. TryFindResource Metoda zwraca null wartość , gdy nie można odnaleźć żądanego zasobu i nie zgłasza wyjątku.

Jeśli zasób nie zostanie znaleziony w elemecie wywołującym, element nadrzędny w drzewie logicznym zostanie przeszukany w następnej kolejności, a następnie aplikacja, motywy i na koniec zasoby systemowe. Ta metodologia wyszukiwania jest identyczna z tym, jak drzewo jest przeszukiwane, jeśli zasób został zażądany przez dynamiczne odwołanie do zasobów w adiustacji. Aby uzyskać więcej informacji na temat wyszukiwania zasobów, zobacz Zasoby XAML.

Zazwyczaj natychmiast rzutujesz wartość zwracaną FindResource na typ właściwości, która jest ustawiana przy użyciu zwracanej wartości zasobu.

Klucze zasobów nie muszą być ciągami. Na przykład style kontrolek na poziomie motywu są celowo kluczem do Type kontrolki, a style aplikacji lub strony dla kontrolek zwykle używają tej samej konwencji klucza. Aby uzyskać szczegółowe informacje, zobacz Styleing and Templating (Tworzenie stylów i tworzenie szablonów ) lub XAML Resources (Zasoby XAML).

Dotyczy

Zobacz też