FrameworkPropertyMetadataOptions Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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.