Share via

PropertyMetadata Constructor (Object, PropertyChangedCallback)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Initializes a new instance of the PropertyMetadata class, using a property default value and callback reference.

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


Public Sub New ( _
    defaultValue As Object, _
    propertyChangedCallback As PropertyChangedCallback _
public PropertyMetadata(
    Object defaultValue,
    PropertyChangedCallback propertyChangedCallback



The defaultValue for the PropertyMetadata specified as typeMetadata must be able to be typed as the type parameter, when you call Register or RegisterAttached to register a dependency property. A mismatch of types will not be noted at the time of registration, and will instead produce a run-time exception in type initialization for an instance of the owning type.

Because of the function of the Silverlight property system, the apparent value of a property (even if not locally set) is not always the default value as registered with a property's metadata. For details, see Dependency Property Value Precedence.

Do not use the value UnsetValue as the default value for a custom dependency property. UnsetValue is reserved for use as a sentinel value that participates in dependency property precedence determination.

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.