UIElement.MeasureCore(Size) UIElement.MeasureCore(Size) UIElement.MeasureCore(Size) UIElement.MeasureCore(Size) Method

定義

派生クラスでオーバーライドされると、子要素のコンテンツのサイズも考慮して、この要素のサイズを適切に設定するための測定ロジックを提供します。

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

パラメーター

availableSize
Size Size Size Size

親要素が子に割り当てることができる、使用可能なサイズ。

戻り値

レイアウト内のこの要素の必要なサイズ。

一般的なオーバーライドMeasureCoreおおよそこのパターンに従います (という組み込みのコレクションがないVisualChildren;VisualChildren要素を保持任意の子コレクションを表すプレース ホルダーです)。

protected override Size MeasureCore(Size availableSize)
{
    foreach (UIElement child in VisualChildren)
    {
        child.Measure(availableSize);
        // call some method on child that adjusts child size if needed
        _cache.StoreInfoAboutChild(child);
    }
    Size desired = CalculateBasedOnCache(_cache);
    return desired;
}
Protected Overrides Function MeasureCore(ByVal availableSize As Size) As Size
	For Each child As UIElement In VisualChildren
		child.Measure(availableSize)
		' call some method on child that adjusts child size if needed
		_cache.StoreInfoAboutChild(child)
	Next child
	Dim desired As Size = CalculateBasedOnCache(_cache)
	Return desired
End Function
  • 呼び出す必要がありますMeasureで各子要素。

  • 一般に、実装が間測定情報をキャッシュする、MeasureCoreArrangeCoreメソッドの呼び出しで同じ要素。

  • 基本実装を呼び出すMeasureCoreは必要ありませんが、適切なは、基本の実装が必要なレイアウト機能を提供する場合があります。

  • 呼び出すMeasureの子要素渡す必要があります同じであるかavailableSize親、または領域のサブセットの場合は、レイアウトの種類に応じて、親要素をサポートしています。 たとえば、要素に固有の枠線または埋め込み、スクロール バー、またはカスタム コントロールの領域を削除するでしょう。

注釈

要素を派生する方が一般的ですFrameworkElementなくUIElementします。 派生する場合FrameworkElement、注意のオーバーライドをMeasureCoreFrameworkElementシール、MeasureCoreメソッド。 のみをオーバーライドするため、MeasureCoreから派生する場合は、レイアウトの測定の特性を変更するための手段としてUIElementが含まれていない、継承によってFrameworkElementします。 これがある場合、独自の実装をビルドしようとする場合、WPFコア レベル。 派生する場合はそれFrameworkElement、メジャーの動作の実装のテンプレートは、FrameworkElementの実装。MeasureOverrideします。

子要素を持つ親要素で呼び出す必要がありますMeasureそれぞれの子では、それ以外の場合これらの子要素はいないサイズまたは配置されはレイアウトから効果的に表示されません。

注意 (継承者)

実装は、指定された値を処理できる必要がありますavailableSize有限です。 無限の値は、要求の制約がないことを示します。 および Measure の再帰呼び出しからの親要素の測定の選択を効果的に延期します。

実装は、指定された値を検討できますavailableSizeソフト制約にします。 子要素は、アプリケーション コードの他の側面が親要素の現在の実際のサイズを決定できる場合でもより大きなサイズの場合を指定可能性があります。 大きなサイズの要求は、親要素がコンテンツの表示領域内のコンテンツのスクロールをサポートできるかどうか、子要素をクエリすることを示す規則です。

適用対象