#163 – Constructing FrameworkPropertyMetadata
December 22, 2010 Leave a comment
When you look at the metadata for a dependency property that is storing its metadata as an instance of FrameworkPropertyMetadata, you’ll see a series of boolean properties.
As a convenience, when constructing an instance of FrameworkPropertyMetadata, you don’t have to pass all of these boolean values into the constructor individually. Instead, the constructor accepts a flags parameter that is a logical OR of a series of enumeration values. The individual enumeration values come from the FrameworkPropertyMetadataOptions enum.
// Register ZHeightProperty dependency property private static FrameworkPropertyMetadata meta = new FrameworkPropertyMetadata(1, // default = 1 FrameworkPropertyMetadataOptions.AffectsArrange | FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsParentArrange | FrameworkPropertyMetadataOptions.AffectsParentMeasure | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault); public static readonly DependencyProperty ZHeightProperty = DependencyProperty.Register("ZHeightProperty", typeof(int), typeof(ThreeDButton), meta);