DependencyProperty.DefaultMetadata Property


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

Gets the default metadata of the dependency property.

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

public PropertyMetadata DefaultMetadata { get; }

Property Value

Type: System.Windows.PropertyMetadata

The default metadata of the dependency property.

The default metadata is the property metadata that is available to that particular object or an object of a derived type where no alternative metadata was supplied by an explicit Register or OverrideMetadata call.

If the original owner applied metadata to the first Register call that established the dependency property, then that metadata is returned as DefaultMetadata.

If no metadata was applied in the original Register call, then default metadata is generated from within the Register call and this value is returned as the DefaultMetadata.

The main purpose of having default metadata associated with a DependencyProperty is to supply a default value for this property on any DependencyObject or a derived type.

For nonattached properties, the metadata type returned by this property cannot be cast to derived types of PropertyMetadata type, even if the property was originally registered with a derived metadata type. If you want the originally registered metadata including its original possibly derived metadata type, call GetMetadata(Type) instead, passing the original registering type as a parameter.

For attached properties, the type of the metadata returned by this property will match the type given in the original RegisterAttached registration method.

pm = dp.GetMetadata(dp.OwnerType);
PropertyMetadata pmDefault = dp.DefaultMetadata;

.NET Framework
Available since 3.0
Return to top