wpfattached-propertiesattachedbehaviors

When should I use FrameworkPropertyMetadata or UIPropertyMetadata over plain PropertyMetadata?


When looking at sample attached properties and behaviors, I've seen a mishmash of uses of FrameworkPropertyMetadata, UIPropertyMetadata and PropertyMetadata. Since they all form an inheritance hierarchy, how do I choose which one to use?


Solution

  • These classes are to report some behavior aspects of a dependency property.

    Check the different classes for the options they provide.

    For example,

    if you just want to back a property by dp and provide a default value, use PropertyMetadata,

    if you want to specify animation behavior, use UIPropertyMetadata,

    but if some property affects wpf framework level stuffs eg element layout, parent layout or databinding, use FrameworkPropertyMetadata.

    Details you can check on msdn http://msdn.microsoft.com/en-us/library/ms751554.aspx