FrameworkContentElement.DefaultStyleKey Property


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

Gets or sets the key to use to find the style template for this control in themes.

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

protected internal object DefaultStyleKey { get; set; }

Property Value

Type: System.Object

The style key. To work correctly as part of theme style lookup, this value is expected to be the Type of the element being styled. null is an accepted value for a certain case; see Remarks.

This property is typically not set through any of its direct setters. Instead, you override the type-specific metadata of this dependency property every time you create a new subclass. When you subclass, call the OverrideMetadata method against the DefaultStyleKeyProperty identifier, within the static constructor of the control subclass.

For instance, an inline class such as Bold actually has very little implementation beyond overriding the DefaultStyleKey metadata in its static constructor, and exposing several instance constructors. The fact that elements surrounded by the Bold tag gain a FontWeight property of Bold is implemented within the theme style that was referenced by setting the default value of DefaultStyleKey to typeof(Bold).

If you want your element or control to deliberately not use theme styles, set the OverridesDefaultStyle property to true.

Identifier field


Metadata properties set to true


.NET Framework
Available since 3.0
Return to top