StaticResourceExtension Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Implements a markup extension that supports static (XAML load time) resource references made from XAML.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)


public class StaticResourceExtension : MarkupExtension


Initializes a new instance of the StaticResourceExtension class.


Initializes a new instance of the StaticResourceExtension class, with the provided initial key.


Gets or sets the key value passed by this static resource reference. They key is used to return the object matching that key in resource dictionaries.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns an object that should be set on the property where this extension is applied. For StaticResourceExtension, this is the object found in a resource dictionary, where the object to find is identified by the ResourceKey.(Overrides MarkupExtension.ProvideValue(IServiceProvider).)


Returns a string that represents the current object.(Inherited from Object.)

This class is a markup extension implementation. Markup extension classes in WPF exist mainly to provide infrastructure support for some aspect of the WPF XAML  processor implementation, and the members exposed by a markup extension are not typically called from user code. This extension supports the StaticResource Markup Extension usage from XAML. For more information on the mechanics of static resource lookup in WPF XAML, see StaticResource Markup Extension or XAML Resources.

{StaticResource} is a markup extension that is specific to the WPF implementation of XAML. You can use {StaticResource} when referencing the default XAML namespace for WPF, without using a prefix. In contrast, markup extensions that are defined for XAML language support (such as {x:Type}) require the prefix for the XAML language XAML namespace in the usage. For more information, see Markup Extensions and WPF XAML.

Static resource references are generally used in XAML whenever a DynamicResource Markup Extension is not explicitly necessary.

See Remarks

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top