FrameworkPropertyMetadata.AffectsParentMeasure Property

Gets or sets a value that indicates whether a dependency property potentially affects the measure pass of its parent element's layout during layout engine operations.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public bool AffectsParentMeasure { get; set; }
Members of this class are not typically used in XAML.

Property Value

Type: System.Boolean
true if the dependency property on which this metadata exists potentially affects the measure pass specifically on its parent element; otherwise, false.The default is false.

ExceptionCondition
InvalidOperationException

The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. As part of that logic, dependency properties that change effective value and have metadata with AffectsParentMeasure set to true will initiate a deferred request to invalidate the visuals for the parent element. Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsParentMeasure unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Generally, you do not need to report changes of a FrameworkElement property to a parent element using AffectsParentMeasure because the element itself would already have its own AffectsMeasure as true. That is usually sufficient, because changes in the child element generally initiate a parent measure pass when appropriate. AffectsParentMeasure is sometimes used for a FrameworkContentElement derived class. In this case, the child element sets a property, but a FrameworkContentElement derived class does not control its own rendering. The rendering is handled by a FrameworkElement parent element that serves as the content host. For instance, a change to the value of the Paragraph.KeepWithNext property by a child element invalidates measure of the parent, because the relative spacing of paragraphs might change and might increase or decrease the content host size. Therefore, the Paragraph.KeepWithNext property has metadata where AffectsParentMeasure is true.

Content host elements also frequently look for changes in dependency properties where AffectsParentMeasure is true, as part of content host rendering logic. For instance, the TextBox element must respond to certain changes within text that might require that the bounding box of the TextBox itself be changed.

Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsParentMeasure is true.

Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. This is so they can be adjusted after initialization of the instance. However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft