UIElement.MeasureCore(Size) Methode

Definition

Wenn sie in einer abgeleiteten Klasse überschrieben werden, wird die Messlogik zum ordnungsgemäßen Skalieren dieses Elements bereitgestellt, wobei die Größe eines untergeordneten Elementinhalts berücksichtigt wird.

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

Parameter

availableSize
Size

Die verfügbare Größe, die das übergeordnete Element für das untergeordnete Element zuordnen kann.

Gibt zurück

Die gewünschte Größe dieses Elements im Layout.

Beispiele

Eine typische Außerkraftsetzung folgt MeasureCore diesem ungefähren Muster (es wird keine integrierte Auflistung aufgerufen VisualChildren; VisualChildren ist ein Platzhalter, der alle untergeordneten Auflistungen darstellt, die Ihr Element verwaltet).

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
  • Sie müssen jedes untergeordnete Element aufrufen Measure .

  • Im Allgemeinen sollte die Implementierung Messinformationen zwischen den Aufrufen und MeasureCoreArrangeCore Methoden im selben Element zwischenspeichern.

  • Das Aufrufen von Basisimplementierungen von MeasureCore ist nicht erforderlich, kann aber geeignet sein, wenn die Basisimplementierung eine gewünschte Layoutfunktion bereitstellt.

  • Aufrufe für Measure untergeordnete Elemente sollten je nach Layouttyp, den das übergeordnete Element unterstützt, entweder mit availableSize dem übergeordneten Element oder einer Teilmenge des Bereichs übergeben. Beispielsweise wäre es gültig, den Bereich für einen elementspezifischen Rahmen oder Abstand, eine Bildlaufleiste oder ein benutzerdefiniertes Steuerelement zu entfernen.

Hinweise

Es ist häufiger, ein Element FrameworkElement anstelle von UIElement. Wenn Sie von FrameworkElementableiten, beachten Sie, dass eine Außerkraftsetzung von MeasureCoreFrameworkElement Dichtungen die MeasureCore Methode. Daher überschreiben MeasureCore Sie sie nur als Mittel zum Ändern von Layoutmaßeigenschaften, wenn Sie von UIElement einer Vererbung abgeleitet werden, die nicht eingeschlossen FrameworkElementwird. Dies kann der Fall sein, wenn Sie versuchen, Ihre eigene Implementierung auf der WPF Kernebene zu erstellen. FrameworkElementAndernfalls ist die Implementierungsvorlage für das Measure-Verhalten die FrameworkElement Implementierung von .MeasureOverride.

Ein übergeordnetes Element mit untergeordneten Elementen muss jedes untergeordnete Element aufrufen Measure , andernfalls werden diese untergeordneten Elemente nicht angepasst oder angeordnet und verschwinden effektiv vom Layout.

Hinweise für Vererber

Implementierungen müssen in der Lage sein, einen für das Unendliche bereitgestellten availableSize Wert zu verarbeiten. Ein unendlicher Wert gibt keine angeforderten Einschränkungen an und verschärft die Messauswahl effektiv auf das übergeordnete Element durch rekursive Measure-Aufrufe.

Implementierungen können den für eine weiche Einschränkung vorgesehenen availableSize Wert berücksichtigen. Das untergeordnete Element kann eine größere Größe angeben, auch wenn andere Aspekte des Anwendungscodes die aktuelle tatsächliche Größe des übergeordneten Elements ermitteln konnten. Die Anforderung mit großer Größe ist eine Konvention, die angibt, dass das untergeordnete Element abfragt, ob das übergeordnete Element den Bildlauf von Inhalten innerhalb eines Inhaltsanzeigebereichs unterstützen kann.

Gilt für: