DependencyProperty.DefaultMetadata Property


Gets the default metadata of the dependency property.

 property System::Windows::PropertyMetadata ^ DefaultMetadata { System::Windows::PropertyMetadata ^ get(); };
public System.Windows.PropertyMetadata DefaultMetadata { get; }
member this.DefaultMetadata : System.Windows.PropertyMetadata
Public ReadOnly Property DefaultMetadata As PropertyMetadata

Property Value

The default metadata of the dependency property.


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


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.

Applies to