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.

FrameworkPropertyMetadata.AffectsParentArrange Property

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

Namespace: System.Windows
Assembly: PresentationFramework (in presentationframework.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public bool AffectsParentArrange { get; set; }
/** @property */
public boolean get_AffectsParentArrange ()

/** @property */
public void set_AffectsParentArrange (boolean value)

public function get AffectsParentArrange () : boolean

public function set AffectsParentArrange (value : boolean)

 Members of this class are either not typically used in XAML, or cannot be used in XAML. 

Property Value

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

Exception typeCondition

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 AffectsParentArrange set to true will initiate a deferred request to invalidate the visuals for the parent element.

Generally, you do not need to report changes of a FrameworkElement property to a parent element using AffectsParentArrange because the element itself would already have its own AffectsArrange as true. That is usually sufficient, because changes in the child element generally initiate a parent arrange when appropriate. AffectsParentArrange 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 FixedPage.Left attached property by a child element invalidates arrange of the parent, because the position of the child in the parent must be changed. Therefore, the FixedPage.Left attached property has metadata where AffectsParentArrange is true. Another example is Padding; when this property changes, the parent might change the positioning of the child, depending on available space.

Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsParentArrange unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsParentArrange 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.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft