Compartir a través de


FrameworkElement.MeasureOverride(Size) Método

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.

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

Tamaño disponible que este elemento puede otorgar a los elementos secundarios. Se puede usar infinito como valor para indicar que el elemento se ajustará a cualquier contenido disponible.

Devoluciones

Size

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.

Comentarios

Invalide MeasureOverride para implementar el comportamiento de ajuste de tamaño del diseño personalizado para el elemento a medida que participa en el sistema de diseño de Windows Presentation Foundation (WPF). La implementación debe hacer lo siguiente:

  1. Iteración de la colección específica del elemento de elementos secundarios que forman parte del diseño, llame a Measure en cada elemento secundario.

  2. DesiredSize Obtenga inmediatamente en el elemento secundario (se establece como una propiedad después Measure de llamar a ).

  3. Calcule el tamaño neto deseado del elemento primario en función de la medida de los elementos secundarios.

El valor devuelto de MeasureOverride 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. 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.

Durante este proceso, los elementos secundarios pueden devolver un tamaño mayor DesiredSize que el inicial availableSize para indicar que el elemento secundario quiere más espacio. Esto se puede controlar en su propia implementación mediante la introducción de una región desplazable mediante el cambio de tamaño del control primario, mediante el establecimiento de alguna manera de orden apilado o cualquier número de soluciones para medir o organizar el contenido.

Importante

Los elementos deben llamar a Measure en cada elemento secundario durante este proceso; de lo contrario, los elementos secundarios no tendrán el tamaño correcto ni se organizarán.

Notas a los desarrolladores de herederos

El siguiente código que no es de compilación muestra este patrón de implementación. VisualChildren representa una propiedad de colección enumerable de los elementos secundarios que debe definir su propio elemento. La propiedad puede denominarse cualquier cosa. VisualChildren es un nombre de marcador de posición para este ejemplo, VisualChildren no es una API proporcionada por WPF o una parte de un patrón de nomenclatura.

Se aplica a