UIElement.DesiredSize Eigenschap

Definitie

Hiermee haalt u de grootte op die dit element tijdens de meting pass van het indelingsproces heeft berekend.

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

Waarde van eigenschap

De berekende grootte, die de gewenste grootte wordt voor de rangschikkenpas.

Voorbeelden

Het volgende voorbeeld wordt weergegeven DesiredSize als onderdeel van een MeasureOverride implementatie. U ziet hoe Measure wordt aangeroepen direct voordat u het verkrijgen DesiredSize. Dit verzekert dat DesiredSize het een legitieme waarde bevat.

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

Opmerkingen

De waarde die door deze eigenschap wordt geretourneerd, is alleen een geldige meting als de waarde van de IsMeasureValid eigenschap is true.

DesiredSize wordt doorgaans gecontroleerd als een van de meetfactoren wanneer u onderdrukkingen voor lay-outgedrag implementeert, zoals ArrangeOverride, MeasureOverrideof OnRender (in het OnRender geval kunt u in plaats daarvan controleren RenderSize , maar dit is afhankelijk van uw implementatie). Afhankelijk van het scenario kan DesiredSize uw implementatielogica volledig worden gerespecteerd, kunnen beperkingen DesiredSize worden toegepast en kunnen dergelijke beperkingen ook andere kenmerken van het bovenliggende element of het onderliggende element wijzigen. Een besturingselement dat bijvoorbeeld schuifbare regio's ondersteunt (maar niet wilt afleiden van de besturingselementen op WPF frameworkniveau die al schuifbare regio's inschakelen), kan de beschikbare grootte vergelijken met DesiredSize. Het besturingselement kan vervolgens een interne status instellen waarmee schuifbalken in de gebruikersinterface voor dat besturingselement zijn ingeschakeld. Of, DesiredSize kan mogelijk ook worden genegeerd in bepaalde scenario's.

Van toepassing op

Zie ook