UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) Method

定義

UIElementDesiredSize を更新します。 親要素は、独自の MeasureCore(Size) 実装からこのメソッドを呼び出し、レイアウトを再帰的に更新します。 このメソッドの呼び出しは、レイアウト更新の最初のパス (「メジャー」パス) となります。

public:
 void Measure(System::Windows::Size availableSize);
public void Measure (System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)

パラメーター

availableSize
Size Size Size Size

親要素が子要素を割り当てることができる使用可能な領域。 子要素は使用可能な空間よりも大きな空間を要求できます。現在の要素のコンテンツ モデルでスクロールが可能な場合、指定されたサイズに対応できる可能性があります。

注釈

レイアウトの配置での計算Windows Presentation Foundation (WPF)で構成をMeasureを呼び出すとArrange呼び出します。 中に、Measure呼び出し、要素を使用してそのサイズ要件を決定する、availableSize入力します。 中に、Arrange要素のサイズの呼び出しを終了します。

availableSize 任意の数を無制限に 0 を指定できます。 要素のレイアウトに参加しているが、最小値を返す必要がありますSizeの必要な指定されたavailableSizeします。

常に受信レイアウトが初めてインスタンス化されたときに、Measure前に呼び出すArrangeします。 ただし、最初のレイアウト パスの後に受け取る場合があります、Arrangeせずに呼び出す、 Measure; 場合のみに影響を与えるプロパティArrange(配置) などが変更された親を受け取ったとき、または、Arrangeせず、 Measure. AMeasure呼び出しが自動的に無効になり、Arrange呼び出します。

レイアウトの更新は、あらゆるレイアウトの変更をメイン スレッドが待機していないように、非同期的に発生します。 分離コードのプロパティ値のチェックを使用して要素のクエリを実行しても、そのサイズやレイアウトの特性と対話するプロパティの変更がすぐに反映可能性がありますされません (、Widthプロパティなど)。

注意

使用してレイアウトの更新を強制することができます、UpdateLayoutメソッド。 ただし、このメソッドを呼び出すことは通常必要はありません、パフォーマンスの低下が発生することができます。

レイアウト システムは 2 つの異なるキューのいずれか、無効なレイアウトのMeasureとに 1 つずつArrangeします。 レイアウトのキューはレイアウトを実行する要素のビジュアル ツリー内の要素の順序に基づいて並べ替えられますツリーの上位の要素では、親の変更を繰り返すことによって、冗長なレイアウトを回避するために、キューの上部にあります。 重複するエントリは自動的に、キューから削除し、レイアウト検証は既に要素も、キューから自動的に削除します。

レイアウトを更新するときに、Measureキューが最初に、空に続けて、Arrangeキュー。 内の要素、Arrange内の要素がある場合、キューは配置しない、Measureキュー。

適用対象