UIElement.DesiredSize Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar storleken som det här elementet beräknade under måttpasset för layoutprocessen.
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
Egenskapsvärde
Den beräknade storleken, som blir önskad storlek för ordna passet.
Exempel
Följande exempel visas DesiredSize som en del av en MeasureOverride implementering. Observera hur Measure anropas omedelbart innan du DesiredSizehämtar . Detta säkerställer att DesiredSize har ett legitimt värde.
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
Kommentarer
Värdet som returneras av den här egenskapen är bara ett giltigt mått om värdet för IsMeasureValid egenskapen är true.
DesiredSizekontrolleras vanligtvis som en av måttfaktorerna när du implementerar åsidosättningar av layoutbeteenden, till exempel ArrangeOverride, MeasureOverrideeller OnRender (i det fallet kan du kontrollera OnRender i RenderSize stället, men detta beror på din implementering). Beroende på scenariot DesiredSize kan implementeringslogik respekteras fullt ut, begränsningar DesiredSize kan tillämpas och sådana begränsningar kan också ändra andra egenskaper för antingen det överordnade elementet eller det underordnade elementet. Till exempel kan en kontroll som stöder rullningsbara regioner (men som väljer att inte härleda från WPF kontroller på ramverksnivå som redan aktiverar rullningsbara regioner) jämföra tillgänglig storlek med DesiredSize. Kontrollen kan sedan ange ett internt tillstånd som aktiverade rullningslister i användargränssnittet för den kontrollen. Eller så DesiredSize kan det också ignoreras i vissa scenarier.