UIElement.UpdateLayout メソッド

定義

この要素のすべての子ビジュアル要素のレイアウトが正常に更新されるようにします。Ensures that all visual child elements of this element are properly updated for layout.

public:
 void UpdateLayout();
public void UpdateLayout ();
member this.UpdateLayout : unit -> unit
Public Sub UpdateLayout ()

注釈

このメソッドを呼び出すと、IsMeasureValidfalse または IsArrangeValidfalse を持つ要素は、要素固有の MeasureCore ArrangeCoreメソッドを呼び出し、レイアウトの更新を強制的に実行して、すべての計算されたサイズを検証します。When you call this method, elements with IsMeasureValidfalse or IsArrangeValidfalse will call element-specific MeasureCore and ArrangeCore methods, which forces layout update, and all computed sizes will be validated.

レイアウトが変更されていない場合、またはレイアウトの配置と測定の状態のどちらも無効である場合、このメソッドを呼び出すことはできません。Calling this method has no effect if layout is unchanged, or if neither arrangement nor measurement state of a layout is invalid. ただし、いずれの場合でもレイアウトが無効である場合、UpdateLayout の呼び出しによってレイアウト全体が再実行されます。However, if layout is invalid in either respect, the UpdateLayout call will redo the entire layout. したがって、要素ツリーの増分および軽微な変更が発生するたびに UpdateLayout を呼び出さないようにしてください。Therefore, you should avoid calling UpdateLayout after each incremental and minor change in the element tree. レイアウトシステムは、パフォーマンスと通貨のバランスを取るアルゴリズムを使用して、要素のレイアウトを遅延的に実行します。また、すべての子要素が有効になるまで、ルートへの変更を遅延する重み付け戦略を使用します。The layout system will perform element layout in a deferred manner, using an algorithm that balances performance and currency, and with a weighting strategy to defer changes to roots until all child elements are valid. UpdateLayout を呼び出す必要があるのは、サイズと位置を更新する必要がある場合だけです。また、制御して、レイアウトに影響を与える可能性のあるプロパティに対するすべての変更が完了したことを確認した後にのみ呼び出す必要があります。You should only call UpdateLayout if you absolutely need updated sizes and positions, and only after you are certain that all changes to properties that you control and that may affect layout are completed.

適用対象

こちらもご覧ください