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
パラメーター
戻り値
例
一般的なオーバーライド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で各子要素。
一般に、実装が間測定情報をキャッシュする、MeasureCoreとArrangeCoreメソッドの呼び出しで同じ要素。
基本実装を呼び出すMeasureCoreは必要ありませんが、適切なは、基本の実装が必要なレイアウト機能を提供する場合があります。
呼び出すMeasureの子要素渡す必要があります同じであるか
availableSize
親、または領域のサブセットの場合は、レイアウトの種類に応じて、親要素をサポートしています。 たとえば、要素に固有の枠線または埋め込み、スクロール バー、またはカスタム コントロールの領域を削除するでしょう。
注釈
要素を派生する方が一般的ですFrameworkElementなくUIElementします。 派生する場合FrameworkElement、注意のオーバーライドをMeasureCoreでFrameworkElementシール、MeasureCoreメソッド。 のみをオーバーライドするため、MeasureCoreから派生する場合は、レイアウトの測定の特性を変更するための手段としてUIElementが含まれていない、継承によってFrameworkElementします。 これがある場合、独自の実装をビルドしようとする場合、WPFコア レベル。 派生する場合はそれFrameworkElement、メジャーの動作の実装のテンプレートは、FrameworkElementの実装。MeasureOverrideします。
子要素を持つ親要素で呼び出す必要がありますMeasureそれぞれの子では、それ以外の場合これらの子要素はいないサイズまたは配置されはレイアウトから効果的に表示されません。
注意 (継承者)
実装は、指定された値を処理できる必要がありますavailableSize
有限です。 無限の値は、要求の制約がないことを示します。 および Measure の再帰呼び出しからの親要素の測定の選択を効果的に延期します。
実装は、指定された値を検討できますavailableSize
ソフト制約にします。 子要素は、アプリケーション コードの他の側面が親要素の現在の実際のサイズを決定できる場合でもより大きなサイズの場合を指定可能性があります。 大きなサイズの要求は、親要素がコンテンツの表示領域内のコンテンツのスクロールをサポートできるかどうか、子要素をクエリすることを示す規則です。
適用対象
フィードバック
お客様のご意見をお寄せください。 お寄せいただく内容の種類を選択:
このフィードバック システムは、GitHub Issues を利用して構築されています。 詳しくは、ブログをご覧ください。
フィードバックを読み込んでいます...