UIElement.DesiredSize Propiedad

Definición

Obtiene el tamaño que este elemento calculó durante el paso de medición del proceso de diseño.

C#
public System.Windows.Size DesiredSize { get; }

Valor de propiedad

Size

Tamaño calculado, que se convierte en el tamaño deseado para el paso de organización.

Ejemplos

En el ejemplo siguiente se muestra DesiredSize como parte de una MeasureOverride implementación. Observe cómo Measure se llama inmediatamente antes de obtener DesiredSize. Esto garantiza que DesiredSize contiene un valor legítimo.

C#
protected override Size MeasureOverride(Size availableSize)
{
    Size panelDesiredSize = new Size();

    // In our example, we just have one child. 
    // Report that our panel requires just the size of its only child.
    foreach (UIElement child in InternalChildren)
    {
        child.Measure(availableSize);
        panelDesiredSize = child.DesiredSize;
    }

    return panelDesiredSize ;
}

Comentarios

El valor devuelto por esta propiedad solo será una medida válida si el valor de la IsMeasureValid propiedad es true.

DesiredSize normalmente se comprueba como uno de los factores de medida al implementar invalidaciones de comportamiento de diseño como ArrangeOverride, MeasureOverrideo OnRender (en el OnRender caso, puede comprobarlo RenderSize , pero esto depende de la implementación). En función del escenario, DesiredSize la lógica de implementación podría respetarse por completo, se podrían aplicar restricciones DesiredSize , y estas restricciones también podrían cambiar otras características del elemento primario o el elemento secundario. Por ejemplo, un control que admite regiones desplazables (pero elige no derivar de los controles de nivel de marco de WPF que ya habilitan regiones desplazables) podría comparar el tamaño disponible con DesiredSize. Después, el control podría establecer un estado interno que habilitó las barras de desplazamiento en la interfaz de usuario para ese control. O bien, DesiredSize también podría omitirse en determinados escenarios.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Consulte también