FrameworkElement.ParentLayoutInvalidated(UIElement) メソッド


FrameworkElement の特殊化されたサブクラスでインクリメンタル レイアウトの実装をサポートします。Supports incremental layout implementations in specialized subclasses of FrameworkElement. レイアウト中に親のメジャーまたは整列パスに影響を与えるものとしてメタデータ内でマークされているプロパティを子要素が無効にすると、ParentLayoutInvalidated(UIElement) が呼び出されます。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)



変更を報告している子要素。The child element reporting the change.


この要素に、いくつかのプロパティが無効にされた子要素があり、プロパティが AffectsParentMeasure としてマークされているか、登録時にプロパティメタデータに AffectsParentArrange た場合、このメソッドが呼び出されます。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.

既定では、FrameworkElement は増分レイアウトをサポートしておらず、FrameworkElement クラスでは、このメソッドには既定の実装がありません。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.

実装シナリオの例としては、WPF フレームワークレベルのレイアウトシステムよりも制限の厳しい子要素に対して、クラスに型の制限がある場合が考えられます。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. たとえば、measure/arrange メソッドのオーバーライドでは、子要素の描画パスを最適化しようとしますが、通常は別のレイアウトパスになるような特定の種類の変更に対して遅延が発生する可能性があります。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.