FrameworkElement.FindResource(Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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).