FrameworkContentElement.DefaultStyleKey Property


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

protected public:
 property System::Object ^ DefaultStyleKey { System::Object ^ get(); void set(System::Object ^ value); };
protected internal object DefaultStyleKey { get; set; }
member this.DefaultStyleKey : obj with get, set
Protected Friend Property DefaultStyleKey As Object

Property Value


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.


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.

Dependency Property Information

Identifier field DefaultStyleKeyProperty
Metadata properties set to true AffectsMeasure

Applies to