FrameworkElement.MeasureOverride(Size) メソッド

定義

派生クラスでオーバーライドされると、子要素に必要なレイアウトのサイズを測定し、FrameworkElement 派生クラスのサイズを決定します。

protected:
 virtual System::Windows::Size MeasureOverride(System::Windows::Size availableSize);
protected virtual System.Windows.Size MeasureOverride (System.Windows.Size availableSize);
abstract member MeasureOverride : System.Windows.Size -> System.Windows.Size
override this.MeasureOverride : System.Windows.Size -> System.Windows.Size
Protected Overridable Function MeasureOverride (availableSize As Size) As Size

パラメーター

availableSize
Size

この要素が子要素に提供できる使用可能なサイズ。 あらゆるコンテンツに要素がサイズを合わせることを示す値として、無限大を指定できます。

戻り値

Size

子要素のサイズの計算に基づいて、この要素が判断したレイアウト時に必要なサイズ。

注釈

Windows Presentation Foundation (WPF) レイアウト システムに参加する要素のカスタム レイアウト サイズ設定動作を実装するためにオーバーライドMeasureOverrideします。 実装では、次の操作を行う必要があります。

  1. レイアウトの一部である要素の子の特定のコレクションを反復処理し、各子要素を呼び出します Measure

  2. すぐに子を取得 DesiredSize します (これは、呼び出された後 Measure にプロパティとして設定されます)。

  3. 子要素の測定に基づいて、親の正味の必要なサイズを計算します。

戻り値 MeasureOverride は、要素の独自の目的のサイズである必要があります。これは、現在の要素の親要素のメジャー入力になります。 この同じプロセスは、ページのルート要素に到達するまで、レイアウト システムを介して続行されます。

このプロセス中に、子要素は、子要素がより多くの領域を必要とすることを示すために、初期availableSizeよりも大きなDesiredSizeサイズを返す可能性があります。 これは、スクロール可能な領域を導入したり、親コントロールのサイズを変更したり、何らかの方法で積み上げ順序を確立したり、コンテンツを測定または配置するための任意の数のソリューションを設定したりすることで、独自の実装で処理される場合があります。

重要

要素は、このプロセス中に各子を呼び出す Measure 必要があります。それ以外の場合、子要素のサイズが正しくないか、配置されません。

注意 (継承者)

次のコンパイルされていないコードは、この実装パターンを示しています。 VisualChildren は、独自の要素で定義する必要がある子の列挙可能なコレクション プロパティを表します。 プロパティには任意の名前を付けることができます。 VisualChildren は、この例の目的のためのプレースホルダー名です。 VisualChildren は、WPF または名前付けパターンの一部によって提供される API ではありません。

適用対象