UIElement.DesiredSize Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 true
hodnota 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.