FrameworkElement.MeasureOverride(Size) FrameworkElement.MeasureOverride(Size) FrameworkElement.MeasureOverride(Size) FrameworkElement.MeasureOverride(Size) Method

Definición

Si se reemplaza en una clase derivada, mide el tamaño del diseño necesario para los elementos secundarios y determina un tamaño para la clase derivada FrameworkElement.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

Parámetros

availableSize
Size Size Size Size

Tamaño disponible que este elemento puede otorgar a los elementos secundarios.The available size that this element can give to child elements. Se puede usar infinito como valor para indicar que el elemento se ajustará a cualquier contenido disponible.Infinity can be specified as a value to indicate that the element will size to whatever content is available.

Devoluciones

Tamaño que este elemento determina que necesita durante el diseño, según sus cálculos de los tamaños de los elementos secundarios.The size that this element determines it needs during layout, based on its calculations of child element sizes.

Comentarios

Invalide MeasureOverride para implementar el comportamiento de ajuste de tamaño del diseño personalizado para Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) el elemento a medida que participa en el sistema de diseño.Override 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. La implementación debe hacer lo siguiente:Your implementation should do the following:

  1. Itere la colección de elementos secundarios del elemento que forman parte del diseño, Measure llame a en cada elemento secundario.Iterate your element's particular collection of children that are part of layout, call Measure on each child element.

  2. Obtener DesiredSize inmediatamente el elemento secundario (se establece como una propiedad después Measure de llamar a).Immediately get DesiredSize on the child (this is set as a property after Measure is called).

  3. Calcule el tamaño deseado de la red del elemento primario en función de la medida de los elementos secundarios.Compute the net desired size of the parent based upon the measurement of the child elements.

El valor devuelto MeasureOverride de debe ser el propio tamaño deseado del elemento, que luego se convierte en la entrada de medida para el elemento primario del elemento actual.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. Este mismo proceso continúa a través del sistema de diseño hasta que se alcanza el elemento raíz de la página.This same process continues through the layout system until the root element of the page is reached.

Durante este proceso, los elementos secundarios pueden devolver un DesiredSize tamaño mayor que el availableSize inicial para indicar que el elemento secundario desea más espacio.During this process, child elements might return a larger DesiredSize size than the initial availableSize to indicate that the child element wants more space. Esto puede controlarse en su propia implementación mediante la introducción de una región desplazable, cambiando el tamaño del control primario, estableciendo algún modo de orden apilado o cualquier número de soluciones para medir o organizar el contenido.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.

Importante

Los elementos deben Measure llamar a en cada elemento secundario durante este proceso; de lo contrario, los elementos secundarios no tendrán el tamaño o la disposición correctos.Elements should call Measure on each child during this process, otherwise the child elements will not be correctly sized or arranged.

Notas a los desarrolladores de herederos

El siguiente código que no es de compilación muestra este patrón de implementación.The following non-compiling code shows this implementation pattern. VisualChildren representa una propiedad de Colección enumerable de los elementos secundarios que debe definir su propio elemento.VisualChildren represents an enumerable collection property of children that your own element should define. El nombre de la propiedad puede ser cualquier cosa.The property can be named anything. VisualChildren es un nombre de marcador de posición para los fines de este ejemplo, APIAPI VisualChildren no es WPFWPF un proporcionado por o una parte de un patrón de nomenclatura.VisualChildren is a placeholder name for purposes of this example, VisualChildren is not an APIAPI as provided by WPFWPF or a part of a naming pattern.

[!code-csharpCorePseudocode#FEMeasureOverride] [!code-vbCorePseudocode#FEMeasureOverride][!code-csharpCorePseudocode#FEMeasureOverride] [!code-vbCorePseudocode#FEMeasureOverride]

Se aplica a