Share via

FrameworkPropertyMetadataOptions Enum


Specifies the types of framework-level property behavior that pertain to a particular dependency property in the Windows Presentation Foundation (WPF) property system.

This enumeration supports a bitwise combination of its member values.

public enum class FrameworkPropertyMetadataOptions
public enum FrameworkPropertyMetadataOptions
type FrameworkPropertyMetadataOptions = 
Public Enum FrameworkPropertyMetadataOptions


AffectsArrange 2

The arrange pass of layout composition is affected by value changes to this dependency property.

AffectsMeasure 1

The measure pass of layout compositions is affected by value changes to this dependency property.

AffectsParentArrange 8

The arrange pass on the parent element is affected by value changes to this dependency property.

AffectsParentMeasure 4

The measure pass on the parent element is affected by value changes to this dependency property.

AffectsRender 16

Some aspect of rendering or layout composition (other than measure or arrange) is affected by value changes to this dependency property.

BindsTwoWayByDefault 256

The BindingMode for data bindings on this dependency property defaults to TwoWay.

Inherits 32

The values of this dependency property are inherited by child elements.

Journal 1024

The values of this dependency property should be saved or restored by journaling processes, or when navigating by Uniform resource identifiers (URIs).

None 0

No options are specified; the dependency property uses the default behavior of the WPF property system.

NotDataBindable 128

Data binding to this dependency property is not allowed.

OverridesInheritanceBehavior 64

The values of this dependency property span separated trees for purposes of property value inheritance.

SubPropertiesDoNotAffectRender 2048

The subproperties on the value of this dependency property do not affect any aspect of rendering.


The following example calls the FrameworkPropertyMetadata constructor and sets several options by using values from the FrameworkPropertyMetadataOptions enumeration:

fpm = new FrameworkPropertyMetadata(
    (FrameworkPropertyMetadataOptions.AffectsRender |
    new PropertyChangedCallback(OnCurrentReadingChanged),
    new CoerceValueCallback(CoerceCurrentReading)


Use this enumeration when you construct a FrameworkPropertyMetadata instance, and you want to specify one or more the framework-level metadata option settings.

You no longer use this enumeration after the constructor call. Instead, query the particular metadata option that was set during registration by checking the true or false value of a specific property of an existing FrameworkPropertyMetadata. These property names match the FrameworkPropertyMetadataOptions enumeration values except for NotDataBindable, which is IsNotDataBindable on the finished FrameworkPropertyMetadata.

The Journal option only specifies the intention to be journaled. The actual journaling may or may not be addressed by journaling services such as those that are present in the WPF viewer application. In particular, journaling has some known limitations if the element tree was constructed through code rather than XAML. For details, see Navigation Overview.


Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Always use the DependencyProperty.RegisterAttached method to register properties where you specify FrameworkPropertyMetadata.Inherits in the metadata.

Applies to