UIElement.DesiredSize Propriedade

Definição

Obtém o tamanho que esse elemento calculou durante o passo de medição do processo de layout.Gets the size that this element computed during the measure pass of the layout process.

public:
 property System::Windows::Size DesiredSize { System::Windows::Size get(); };
public System.Windows.Size DesiredSize { get; }
member this.DesiredSize : System.Windows.Size
Public ReadOnly Property DesiredSize As Size

Valor da propriedade

O tamanho calculado, que se torna o tamanho desejado para o passo de organização.The computed size, which becomes the desired size for the arrange pass.

Exemplos

O exemplo a seguir mostra DesiredSize como parte de uma implementação de MeasureOverride.The following example shows DesiredSize as part of a MeasureOverride implementation. Observe como Measure é chamado imediatamente antes de obter DesiredSize.Notice how Measure is called immediately prior to obtaining DesiredSize. Isso garante que DesiredSize tenha um valor legítimo.This assures that DesiredSize holds a legitimate value.

virtual Size MeasureOverride(Size availableSize) override
{
    Size^ panelDesiredSize = gcnew Size();

    // In our example, we just have one child. 
    // Report that our panel requires just the size of its only child.
    for each (UIElement^ child in InternalChildren)
    {
        child->Measure(availableSize);
        panelDesiredSize = child->DesiredSize;
    }
    return *panelDesiredSize ;
}
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 ;
}
Protected Overrides Function MeasureOverride(ByVal availableSize As System.Windows.Size) As System.Windows.Size
    Dim panelDesiredSize As Size = New Size()
    ' In our example, we just have one child. 
    ' Report that our panel requires just the size of its only child.
    For Each child As UIElement In InternalChildren
        child.Measure(availableSize)
        panelDesiredSize = child.DesiredSize
    Next
    Return panelDesiredSize
End Function

Comentários

O valor retornado por essa propriedade só será uma medida válida se o valor da propriedade IsMeasureValid for true.The value returned by this property will only be a valid measurement if the value of the IsMeasureValid property is true.

o DesiredSize geralmente é verificado como um dos fatores de medida quando você implementa substituições de comportamento de layout, como ArrangeOverride, MeasureOverrideou OnRender (no caso de OnRender, você pode verificar RenderSize em vez disso, mas isso depende da sua implementação).DesiredSize is typically checked as one of the measurement factors when you implement layout behavior overrides such as ArrangeOverride, MeasureOverride, or OnRender (in the OnRender case, you might check RenderSize instead, but this depends on your implementation). Dependendo do cenário, DesiredSize pode ser totalmente respeitado pela lógica de implementação, as restrições em DesiredSize podem ser aplicadas, e essas restrições também podem alterar outras características do elemento pai ou do elemento filho.Depending on the scenario, DesiredSize might be fully respected by your implementation logic, constraints on DesiredSize might be applied, and such constraints might also change other characteristics of either the parent element or child element. Por exemplo, um controle que dá suporte a regiões roláveis (mas opta por não derivar dos controles de nível de estrutura do WPF que já habilitam regiões roláveis) pode comparar o tamanho disponível para DesiredSize.For example, a control that supports scrollable regions (but chooses not to derive from the WPF framework-level controls that already enable scrollable regions) could compare available size to DesiredSize. O controle poderia então definir um estado interno que habilitou barras de rolagem no Interface de UsuárioUI para esse controle.The control could then set an internal state that enabled scrollbars in the Interface de UsuárioUI for that control. Ou, DesiredSize potencialmente poderia também ser ignorado em determinados cenários.Or, DesiredSize could potentially also be ignored in certain scenarios.

Aplica-se a

Veja também