Edit

Share via


FrameworkPropertyMetadataOptions Enum

Definition

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
[System.Flags]
public enum FrameworkPropertyMetadataOptions
[<System.Flags>]
type FrameworkPropertyMetadataOptions = 
Public Enum FrameworkPropertyMetadataOptions
Inheritance
FrameworkPropertyMetadataOptions
Attributes

Fields

None 0

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

AffectsMeasure 1

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

AffectsArrange 2

The arrange pass of layout composition 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.

AffectsParentArrange 8

The arrange 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.

Inherits 32

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

OverridesInheritanceBehavior 64

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

NotDataBindable 128

Data binding to this dependency property is not allowed.

BindsTwoWayByDefault 256

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

Journal 1024

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

SubPropertiesDoNotAffectRender 2048

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

Examples

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)
);

Remarks

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.

Note

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