UIElement.Measure(Size) メソッド

定義

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

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

注釈

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

availableSize 0から無限までの任意の数を指定できます。 レイアウトに参加する要素は、特定のに必要な最小値を返し Size availableSize ます。

レイアウトが最初にインスタンス化されると、その前に常に呼び出しが返され Measure Arrange ます。 ただし、最初のレイアウトパスの後に、を指定せずに呼び出しを受け取ることがあります。これは、に Arrange Measure のみ影響を与えるプロパティ (アラインメントなど) が変更された場合、 Arrange または親が Arrange を使用せずにを受け取った場合に発生する可能性があり Measure ます。 Measure呼び出しは自動的に無効になり Arrange ます。

レイアウトの更新は、メインスレッドが可能なすべてのレイアウト変更を待機していないように、非同期的に行われます。 プロパティ値の分離コードチェックによって要素にクエリを実行すると、サイズ設定またはレイアウトの特性 (プロパティなど) と対話するプロパティに対する変更がすぐに反映されない場合があり Width ます。

注意

レイアウトの更新は、メソッドを使用して強制的に行うことができ UpdateLayout ます。 ただし、通常、このメソッドを呼び出す必要はなく、パフォーマンスが低下する可能性があります。

レイアウトシステムは、無効なレイアウトの2つの個別のキューを保持します。1つはで、もう1つは MeasureArrange です。 レイアウトキューは、レイアウトを実行している要素のビジュアルツリー内の要素の順序に基づいて並べ替えられます。ツリー内の上位にある要素はキューの最上位にあり、親の繰り返し変更によって発生する冗長レイアウトを回避します。 重複するエントリはキューから自動的に削除され、既にレイアウトが検証されている場合、要素はキューから自動的に削除されます。

レイアウトを更新すると、 Measure キューは最初に空になり、その後にキューが続き Arrange ます。 キュー内に要素がある場合、キュー内の要素は Arrange 配置されません Measure

適用対象