FrameworkElement.TryFindResource(Object) Metod

Definition

Söker efter en resurs med den angivna nyckeln och returnerar den resursen om den hittas.

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

Parametrar

resourceKey
Object

Nyckelidentifieraren för resursen som ska hittas.

Returer

Den hittade resursen, eller null om ingen resurs med den angivna resourceKey hittas.

Exempel

Följande exempel implementeras som en knapphanterare, där knappen som klickas anger bakgrunden till en resursdefinierad pensel som erhålls genom att anropa TryFindResource sig själv. Detta vägleder elementträdet och hittar resursen (själva resursen definieras i XAML och visas inte).

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

Kommentarer

Om resursen inte hittas i det anropande elementet genomsöks det överordnade resursträdet uppåt genom det logiska trädet, på samma sätt som trädet skulle sökas efter om en resurs begärdes av nyckeln vid körning. Metoden returnerar null endast om det inte fanns någon resurs för den nyckeln någonstans i resursträdet, enligt de befintliga villkoren i trädet vid den tidpunkt då TryFindResource den anropas.

Vanligtvis skulle du omedelbart omvandla returvärdet till den typ av egenskap som du försökte ange med det returnerade resursvärdet.

Metoden FindResource har liknande beteende, förutom att den genererar ett undantag om ingen resurs med den angivna nyckeln returnerades.

Gäller för

Se även