UIElement.DesiredSize Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.