Sdílet prostřednictvím


UIElement.DesiredSize Vlastnost

Definice

Získá velikost, kterou tento prvek vypočítá během průchodu míry procesu rozložení.

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

Hodnota vlastnosti

Size

Vypočítaná velikost, která se stane požadovanou velikostí pro předání uspořádání.

Příklady

Následující příklad ukazuje DesiredSize jako součást MeasureOverride implementace. Všimněte si, jak Measure je volána bezprostředně před získáním DesiredSize. To zajišťuje, že DesiredSize obsahuje legitimní hodnotu.

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

Poznámky

Hodnota vrácená touto vlastností bude pouze platným měřením, pokud je truehodnota IsMeasureValid vlastnosti .

DesiredSize je obvykle kontrolován jako jeden z měrných faktorů při implementaci přepsání chování rozložení, jako ArrangeOverrideje , MeasureOverridenebo OnRender (v OnRender takovém případě můžete místo toho zkontrolovat RenderSize , ale to závisí na vaší implementaci). V závislosti na scénáři DesiredSize může být logika implementace plně dodržena, omezení, která DesiredSize mohou být použita, a taková omezení mohou také změnit další charakteristiky nadřazeného elementu nebo podřízeného elementu. Například ovládací prvek, který podporuje posouvání oblastí (ale rozhodne se, že se nechce odvozovat z ovládacích prvků na úrovni architektury WPF, které již umožňují posouvání oblastí), může porovnat dostupnou velikost s DesiredSize. Ovládací prvek pak může nastavit interní stav, který povolil posuvníky v uživatelském rozhraní tohoto ovládacího prvku. DesiredSize V určitých scénářích se také může ignorovat.

Platí pro

Viz také