Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

FrameworkPropertyMetadataOptions Enumeration

 

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 has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

[FlagsAttribute]
public enum FrameworkPropertyMetadataOptions

Member nameDescription
AffectsArrange

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

AffectsMeasure

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

AffectsParentArrange

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

AffectsParentMeasure

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

AffectsRender

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

BindsTwoWayByDefault

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

Inherits

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

Journal

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

None

No options are specified; the dependency property uses the default behavior of the Windows Presentation Foundation (WPF) property system.

NotDataBindable

Data binding to this dependency property is not allowed.

OverridesInheritanceBehavior

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

SubPropertiesDoNotAffectRender

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

Use this enumeration when you construct a FrameworkPropertyMetadata instance where 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.

System_CAPS_noteNote

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 RegisterAttached to register properties where you specify Inherits in the metadata.

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

fpm = new FrameworkPropertyMetadata(
    Double.NaN,
    (FrameworkPropertyMetadataOptions.AffectsRender |
      FrameworkPropertyMetadataOptions.BindsTwoWayByDefault),
    new PropertyChangedCallback(OnCurrentReadingChanged),
    new CoerceValueCallback(CoerceCurrentReading)
);

.NET Framework
Available since 3.0
Return to top
Show:
© 2016 Microsoft