FrameworkElement.MeasureOverride(Size) Methode

Definition

Misst beim Überschreiben in einer abgeleiteten Klasse die für untergeordnete Elemente im Layout benötigte Größe und bestimmt eine Größe für die von FrameworkElement abgeleitete Klasse.When overridden in a derived class, measures the size in layout required for child elements and determines a size for the FrameworkElement-derived class.

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

Parameter

availableSize
Size

Die verfügbare Größe, die dieses Element untergeordneten Elementen bereitstellen kann.The available size that this element can give to child elements. „Unendlich“ kann als Wert angegeben werden, um festzulegen, dass das Element an die Größe des jeweiligen Inhalts angepasst wird.Infinity can be specified as a value to indicate that the element will size to whatever content is available.

Gibt zurück

Die für dieses Element beim Layout benötigte Größe, basierend auf der Berechnung der Größen der untergeordneten Elemente.The size that this element determines it needs during layout, based on its calculations of child element sizes.

Hinweise

Überschreiben Sie MeasureOverride, um ein benutzerdefiniertes layoutgrößenverhalten für Ihr Element zu implementieren, da es am Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Layout System teilnimmtOverride MeasureOverride to implement custom layout sizing behavior for your element as it participates in the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) layout system. Ihre Implementierung sollte folgende Aktionen ausführen:Your implementation should do the following:

  1. Iterieren Sie die jeweilige Auflistung von untergeordneten Elementen, die Teil des Layouts sind, und nennen Sie Measure für jedes untergeordnete Element.Iterate your element's particular collection of children that are part of layout, call Measure on each child element.

  2. Sofort wird DesiredSize auf dem untergeordneten Element abgerufen (Dies wird als Eigenschaft festgelegt, nachdem Measure aufgerufen wurde).Immediately get DesiredSize on the child (this is set as a property after Measure is called).

  3. Berechnet die gewünschte Netzwerkgröße des übergeordneten Elements basierend auf der Messung der untergeordneten Elemente.Compute the net desired size of the parent based upon the measurement of the child elements.

Der Rückgabewert von MeasureOverride muss die gewünschte Größe des Elements sein, das dann die Maßeinheit für das übergeordnete Element des aktuellen Elements ist.The return value of MeasureOverride should be the element's own desired size, which then becomes the measure input for the parent element of the current element. Derselbe Prozess wird über das Layoutsystem fortgesetzt, bis das Stamm Element der Seite erreicht ist.This same process continues through the layout system until the root element of the page is reached.

Während dieses Vorgangs können untergeordnete Elemente eine größere DesiredSize Größe als die anfängliche availableSize zurückgeben, um anzugeben, dass das untergeordnete Element mehr Platz benötigt.During this process, child elements might return a larger DesiredSize size than the initial availableSize to indicate that the child element wants more space. Dies kann in ihrer eigenen Implementierung erfolgen, indem ein Bild lauffähiger Bereich eingeführt wird, indem die Größe des übergeordneten Steuer Elements geändert wird, indem eine gestapelte Reihenfolge oder eine beliebige Anzahl von Lösungen zum Messen oder Anordnen von Inhalten festgelegt wird.This might be handled in your own implementation by introducing a scrollable region, by resizing the parent control, by establishing some manner of stacked order, or any number of solutions for measuring or arranging content.

Wichtig

Elemente sollten während dieses Prozesses Measure für jedes untergeordnete Element aufzurufen, da die untergeordneten Elemente andernfalls nicht ordnungsgemäß formatiert oder angeordnet werden.Elements should call Measure on each child during this process, otherwise the child elements will not be correctly sized or arranged.

Hinweise für Vererber

Der folgende nicht Kompilier Bare Code zeigt dieses Implementierungs Muster.The following non-compiling code shows this implementation pattern. VisualChildren stellt eine Aufzähl Bare Auflistungs Eigenschaft von untergeordneten Elementen dar, die von Ihrem eigenen Element definiert werden sollten.VisualChildren represents an enumerable collection property of children that your own element should define. Die-Eigenschaft kann beliebig benannt werden.The property can be named anything. VisualChildren ist ein Platzhalter Name für dieses Beispiel. VisualChildren ist keine API, die von WPFWPF oder einem Teil eines Benennungs Musters bereitgestellt wird.VisualChildren is a placeholder name for purposes of this example, VisualChildren is not an API as provided by WPFWPF or a part of a naming pattern.

[! Code-csharpcorepseudocode # femessreoverride] [! Code-vbcorepseudocode # femessreoverride][!code-csharpCorePseudocode#FEMeasureOverride] [!code-vbCorePseudocode#FEMeasureOverride]

Gilt für: