UIElement.Measure(Size) Método

Definición

Actualiza el valor DesiredSize de un elemento UIElement. Los elementos primarios llaman a este método desde sus propias implementaciones de MeasureCore(Size) para formar una actualización de diseño recursiva. La llamada a este método constituye el primer paso (el paso de "medida") de una actualización de diseño.

public:
 void Measure(System::Windows::Size availableSize);
public void Measure (System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)

Parámetros

availableSize
Size

Espacio disponible que un elemento primario puede asignar a un elemento secundario. Un elemento secundario puede solicitar un espacio mayor del que está disponible; el tamaño proporcionado podría ajustarse si el desplazamiento es posible en el modelo de contenido del elemento actual.

Comentarios

El cálculo del posicionamiento de diseño en Windows Presentation Foundation (WPF) se compone de una Measure llamada y una Arrange llamada. Durante la Measure llamada, un elemento determina sus requisitos de tamaño mediante una availableSize entrada. Durante la Arrange llamada, se finaliza el tamaño del elemento.

availableSize puede ser cualquier número de cero a infinito. Los elementos que participan en el diseño deben devolver el mínimo Size que requieren para un determinado availableSize.

Cuando se crea una instancia de un diseño por primera vez, siempre recibe una Measure llamada antes Arrangede . Sin embargo, después del primer pase de diseño, puede recibir una Arrange llamada sin un Measureelemento ; esto puede ocurrir cuando una propiedad que afecta solo Arrange se cambia (por ejemplo, la alineación), o cuando el elemento primario recibe un Arrange sin .Measure Una Measure llamada invalidará automáticamente una Arrange llamada.

Las actualizaciones de diseño se producen de forma asincrónica, de modo que el subproceso principal no está esperando todos los cambios de diseño posibles. Es posible que la consulta de un elemento mediante la comprobación de código subyacente de los valores de propiedad no refleje inmediatamente los cambios en las propiedades que interactúan con las características de tamaño o diseño (por ejemplo, la Width propiedad ).

Nota

Las actualizaciones de diseño se pueden forzar mediante el UpdateLayout método . Sin embargo, llamar a este método suele ser innecesario y puede provocar un rendimiento deficiente.

El sistema de diseño mantiene dos colas independientes de diseños no válidos, una para Measure y otra para Arrange. La cola de diseño se ordena según el orden de los elementos del árbol visual del elemento que realiza el diseño; los elementos más altos del árbol se encuentran en la parte superior de la cola, para evitar diseños redundantes causados por cambios repetidos en los elementos primarios. Las entradas duplicadas se quitan automáticamente de la cola y los elementos se quitan automáticamente de la cola si ya están validados por el diseño.

Al actualizar el diseño, la Measure cola se vacía primero, seguida de la Arrange cola. Un elemento de la Arrange cola nunca se organizará si hay un elemento en la Measure cola.

Se aplica a