FrameworkElement.TryFindResource(Object) Metoda

Definicja

Wyszukuje zasób z określonym kluczem i zwraca ten zasób, jeśli zostanie znaleziony.

public:
 System::Object ^ TryFindResource(System::Object ^ resourceKey);
public object TryFindResource (object resourceKey);
member this.TryFindResource : obj -> obj
Public Function TryFindResource (resourceKey As Object) As Object

Parametry

resourceKey
Object

Identyfikator klucza zasobu, który ma zostać znaleziony.

Zwraca

Znaleziony zasób lub null jeśli nie zostanie znaleziony żaden zasób z podanym key zasobem.

Przykłady

Poniższy przykład jest implementowany jako procedura obsługi przycisków, gdzie kliknięty przycisk ustawia jego tło na szczotkę zdefiniowaną przez zasób uzyskany przez wywołanie TryFindResource samego siebie. Spowoduje to pokazanie drzewa elementów i znalezienie zasobu (sam zasób jest zdefiniowany w języku XAML i nie jest wyświetlany).

void TryFind(object sender, RoutedEventArgs e)  {
    Button b = e.Source as Button;
    b.Background = (Brush)b.TryFindResource("customBrush");
}
Private Sub TryFind(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim b As Button = TryCast(e.Source, Button)
    b.Background = CType(b.TryFindResource("customBrush"), Brush)
End Sub

Uwagi

Jeśli zasób nie zostanie znaleziony w elemecie wywołującym, drzewo zasobów nadrzędnych jest przeszukiwane w górę przez drzewo logiczne, w taki sam sposób, w jaki drzewo zostanie przeszukane, jeśli zasób został żądany przez klucz w czasie wykonywania. Metoda zwraca wartość null tylko wtedy, gdy żaden zasób tego klucza nie istniał w dowolnym miejscu w drzewie zasobów, zgodnie z istniejącymi warunkami drzewa w czasie TryFindResource wywoływanym.

Zazwyczaj zwracana wartość jest natychmiast rzutowana na typ właściwości, którą próbowano ustawić przy użyciu zwróconej wartości zasobu.

Metoda FindResource ma podobne zachowanie, z wyjątkiem tego, że zgłasza wyjątek, jeśli nie zostanie zwrócony żaden zasób z podanym kluczem.

Dotyczy

Zobacz też