UIElement.MeasureCore(Size) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt beim Überschreiben in einer abgeleiteten Klasse die Maßlogik für das ordnungsgemäße Festlegen der Größe dieses Elements bereit, wobei die Größe des Inhalts sämtlicher untergeordneter Elemente 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 reservieren kann.
Gibt zurück
Die gewünschte Größe dieses Elements im Layout.
Beispiele
Eine typische Überschreibung von MeasureCore folgt diesem ungefähren Muster (es gibt keine integrierte Auflistung namens VisualChildren
; VisualChildren
ist ein Platzhalter, der die untergeordnete Auflistung 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 für jedes untergeordnete Element aufrufen Measure .
Im Allgemeinen sollte Ihre Implementierung Messinformationen zwischen den MeasureCore Methodenaufrufen und ArrangeCore im selben Element zwischenspeichern.
Das Aufrufen von Basisimplementierungen von MeasureCore ist nicht erforderlich, kann aber geeignet sein, wenn die Basisimplementierung eine gewünschte Layoutfunktion bietet.
Aufrufe von Measure für untergeordnete Elemente sollten entweder dasselbe
availableSize
wie das übergeordnete Element oder eine Teilmenge des Bereichs übergeben, abhängig vom Typ des Layouts, das das übergeordnete Element unterstützt. Beispielsweise wäre es gültig, den Bereich für einen elementspezifischen Rahmen oder eine Auffüllung, eine Bildlaufleiste oder ein benutzerdefiniertes Steuerelement zu entfernen.
Hinweise
Es ist üblicher, ein -Element von FrameworkElement ableiten als UIElement. Wenn Sie von FrameworkElementableiten, beachten Sie, dass eine Überschreibung von MeasureCore auf FrameworkElement die MeasureCore -Methode versiegelt. Daher überschreiben MeasureCore Sie nur als Mittel zum Ändern von Layoutmaßmerkmalen, wenn Sie von UIElement einer Vererbung ableiten, die nicht enthält FrameworkElement. Dies kann der Fall sein, wenn Sie versuchen, Eine eigene Implementierung auf WPF-Kernebene zu erstellen. FrameworkElementAndernfalls ist die Implementierungsvorlage für measure-Verhalten die FrameworkElement Implementierung von .MeasureOverride
Ein übergeordnetes Element mit untergeordneten Elementen muss für jedes untergeordnete Element aufrufen Measure , andernfalls sind diese untergeordneten Elemente nicht groß oder angeordnet und verschwinden effektiv aus dem Layout.
Hinweise für Vererber
Implementierungen müssen in der Lage sein, einen dafür availableSize
angegebenen Wert zu verarbeiten, der unendlich ist. Ein unendlicher Wert gibt keine angeforderten Einschränkungen an und verschiebt die Messauswahl effektiv durch rekursive Measure-Aufrufe auf das übergeordnete Element.
Implementierungen können den angegebenen availableSize
Wert als weiche Einschränkung betrachten. 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 bestimmen konnten. Die Großformatanforderung ist eine Konvention, die angibt, dass das untergeordnete Element fragt, ob Ihr übergeordnetes Element den Bildlauf von Inhalten innerhalb eines Inhaltsanzeigebereichs unterstützen kann.