Modifier

Partager via


FrameworkElement.ParentLayoutInvalidated(UIElement) Method

Definition

Supports incremental layout implementations in specialized subclasses of FrameworkElement. ParentLayoutInvalidated(UIElement) is invoked when a child element has invalidated a property that is marked in metadata as affecting the parent's measure or arrange passes during layout.

protected public:
 virtual void ParentLayoutInvalidated(System::Windows::UIElement ^ child);
protected internal virtual void ParentLayoutInvalidated (System.Windows.UIElement child);
abstract member ParentLayoutInvalidated : System.Windows.UIElement -> unit
override this.ParentLayoutInvalidated : System.Windows.UIElement -> unit
Protected Friend Overridable Sub ParentLayoutInvalidated (child As UIElement)

Parameters

child
UIElement

The child element reporting the change.

Remarks

If this element has a child element on which some property was invalidated and the property was marked as AffectsParentMeasure or AffectsParentArrange in property metadata during registration, this method is invoked. The method invocation notifies the parent element which particular child element must be re-measured if this element supports partial (incremental) update of layout.

By default, FrameworkElement does not support incremental layout, and in the FrameworkElement class this method has no default implementation. The scenario where overriding this method would be necessary is not common, because it requires you to modify the default layout system behavior.

An example implementation scenario might be if a class had type limitations for possible child elements that are significantly more restrictive than the WPF framework-level layout system. Because of the nature of these custom elements, property changes could be deliberately deferred when you implement some custom layout behavior. For instance, measure/arrange method overrides, which try to optimize the child element render pass, could be deferred for certain types of changes that would ordinarily result in another layout pass.

Applies to