UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) Method

Definición

Actualiza el valor DesiredSize de un elemento UIElement.Updates the DesiredSize of a 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.Parent elements call this method from their own MeasureCore(Size) implementations to form a recursive layout update. La llamada a este método constituye el primer paso (el paso de "medida") de una actualización de diseño.Calling this method constitutes the first pass (the "Measure" pass) of a layout update.

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 Size Size Size

Espacio disponible que un elemento primario puede asignar a un elemento secundario.The available space that a parent element can allocate a child element. 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.A child element can request a larger space than what is available; the provided size might be accommodated if scrolling is possible in the content model for the current element.

Comentarios

El cálculo de la posición del Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) diseño en está formado por Measure una llamada y Arrange una llamada a.Computation of layout positioning in Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) is comprised of a Measure call and an Arrange call. Durante la Measure llamada, un elemento determina sus requisitos de tamaño mediante una availableSize entrada.During the Measure call, an element determines its size requirements by using an availableSize input. Durante la Arrange llamada, se finaliza el tamaño del elemento.During the Arrange call, the element size is finalized.

availableSizepuede ser cualquier número de cero a infinito.availableSize can be any number from zero to infinite. Los elementos que participan en el diseño deben Size devolver el mínimo necesario para availableSizeun determinado.Elements participating in layout should return the minimum Size they require for a given availableSize.

Cuando se crea una instancia de un diseño por primera vez, Measure siempre recibe Arrangeuna llamada antes de.When a layout is first instantiated, it always receives a Measure call before Arrange. Sin embargo, después del primer paso de diseño, es posible Arrange que reciba una Measurellamada sin; esto puede ocurrir cuando se cambia una Arrange propiedad que solo afecta a (por ejemplo, la alineación) o cuando Arrange el elemento primario recibe un sin un Measure.However, after the first layout pass, it may receive an Arrange call without a Measure; this can happen when a property that affects only Arrange is changed (such as alignment), or when the parent receives an Arrange without a Measure. Una Measure llamada invalidará automáticamente una Arrange llamada a.A Measure call will automatically invalidate an Arrange call.

Las actualizaciones de diseño se producen de forma asincrónica, de modo que el subproceso principal no está esperando cada posible cambio de diseño.Layout updates happen asynchronously, such that the main thread is not waiting for every possible layout change. La consulta de un elemento mediante la comprobación de código subyacente de los valores de propiedad puede no reflejar inmediatamente los cambios en las propiedades que interactúan Width con las características de ajuste de tamaño o diseño (la propiedad, por ejemplo).Querying an element via code-behind checking of property values may not immediately reflect changes to properties that interact with the sizing or layout characteristics (the Width property, for example).

Nota

Las actualizaciones de diseño se pueden forzar UpdateLayout mediante el método.Layout updates can be forced by using the UpdateLayout method. Sin embargo, la llamada a este método normalmente es innecesaria y puede causar un bajo rendimiento.However, calling this method is usually unnecessary and can cause poor performance.

El sistema de diseño mantiene dos colas independientes de diseños no válidos, una Measure para y una Arrangepara.The layout system keeps two separate queues of invalid layouts, one for Measure and one for 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 situados más arriba en el árbol se encuentran en la parte superior de la cola, para evitar diseños redundantes causados por cambios repetidos en los elementos primarios.The layout queue is sorted based upon the order of elements in the visual tree of the element performing layout; elements higher in the tree are at the top of the queue, to avoid redundant layouts caused by repeated changes in parents. Las entradas duplicadas se quitan automáticamente de la cola, y los elementos se quitan automáticamente de la cola si ya se validan en el diseño.Duplicate entries are automatically removed from the queue, and elements are automatically removed from the queue if they are already layout-validated.

Al actualizar el diseño, Measure la cola se vacía primero, seguida de la Arrange cola.When updating layout, the Measure queue is emptied first, followed by the Arrange queue. Un elemento de la Arrange cola no se organizará nunca si hay un elemento en la Measure cola.An element in the Arrange queue will never be arranged if there is an element in the Measure queue.

Se aplica a