Udostępnij za pośrednictwem


UIElement.DesiredSize Właściwość

Definicja

Pobiera rozmiar obliczony przez ten element podczas przekazywania miary procesu układu.

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

Wartość właściwości

Obliczony rozmiar, który staje się żądanym rozmiarem dla przebiegu rozmieszczania.

Przykłady

Poniższy przykład przedstawia DesiredSize jako część implementacji MeasureOverride . Zwróć uwagę, jak Measure jest wywoływany bezpośrednio przed uzyskaniem DesiredSize. Zapewnia to, że DesiredSize posiada uzasadnioną wartość.

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

Uwagi

Wartość zwrócona przez tę właściwość będzie prawidłową miarą tylko wtedy, gdy wartość IsMeasureValid właściwości to true.

DesiredSize Jest zwykle sprawdzany jako jeden z czynników pomiaru podczas implementowania przesłonięć zachowania układu, takich jak ArrangeOverride, MeasureOverridelub OnRender (w takim OnRender przypadku można sprawdzić RenderSize zamiast tego, ale zależy to od implementacji). W zależności od scenariusza DesiredSize może być w pełni przestrzegane przez logikę implementacji, mogą być stosowane ograniczenia, a takie ograniczenia DesiredSize mogą również zmieniać inne cechy elementu nadrzędnego lub elementu podrzędnego. Na przykład kontrolka, która obsługuje regiony z możliwością przewijania (ale nie wybiera, aby nie pochodzić z kontrolek na poziomie platformy WPF, które już włączają regiony z możliwością przewijania) może porównać dostępny rozmiar z DesiredSize. Kontrolka może następnie ustawić stan wewnętrzny, który włączył paski przewijania w interfejsie użytkownika dla tej kontrolki. DesiredSize Ewentualnie można je również zignorować w niektórych scenariuszach.

Dotyczy

Zobacz też