Application.TryFindResource(Object) Method


Searches for the specified resource.

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



The name of the resource to find.



The requested resource object. If the requested resource is not found, a null reference is returned.


The following example shows how to use TryFindResource to acquire a resource.

        <Image x:Key="ApplicationResource" Source="ApplicationResource.bmp" />
void tryFindResourceButton_Click(object sender, RoutedEventArgs e) {
  object resource = Application.Current.TryFindResource("ApplicationResource");
  // If resource found, do something with it
  if (resource != null) {
Private Sub tryFindResourceButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim resource As Object = Application.Current.TryFindResource("ApplicationResource")
  ' If resource found, do something with it
  If resource IsNot Nothing Then
  End If
End Sub


TryFindResource will first look in application-scope resources for the specified resource. Application-scope resources are managed by Application, and are exposed from the Resources property. If the specified resource is not found in the set of application-scope resources, TryFindResource then next searches the system resources. System resources are shell resources defined by the user, and include colors, fonts, and shell configurations. These are exposed from the SystemColors, SystemFonts, and SystemParameters types, respectively, as static properties. To use TryFindResource to acquire them, these types also expose resource key properties that are designed to be passed to TryFindResource; for example, IconWidthKey.

Because TryFindResource returns an object, you must cast the returned value to the appropriate type if the resource is found.

This method is thread safe and can be called from any thread.

Applies to

See also