UIElement.DesiredSize Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera rozmiar obliczony przez ten element podczas przekazywania miary procesu układu.
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
Wartość właściwości
Obliczony rozmiar, który staje się żądanym rozmiarem dla przebiegu rozmieszczania.
Przykłady
Poniższy przykład przedstawia DesiredSize jako część implementacji MeasureOverride . Zwróć uwagę, jak Measure jest wywoływany bezpośrednio przed uzyskaniem DesiredSize. Zapewnia to, że DesiredSize posiada uzasadnioną wartość.
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
Uwagi
Wartość zwrócona przez tę właściwość będzie prawidłową miarą tylko wtedy, gdy wartość IsMeasureValid właściwości to true
.
DesiredSize Jest zwykle sprawdzany jako jeden z czynników pomiaru podczas implementowania przesłonięć zachowania układu, takich jak ArrangeOverride, MeasureOverridelub OnRender (w takim OnRender przypadku można sprawdzić RenderSize zamiast tego, ale zależy to od implementacji). W zależności od scenariusza DesiredSize może być w pełni przestrzegane przez logikę implementacji, mogą być stosowane ograniczenia, a takie ograniczenia DesiredSize mogą również zmieniać inne cechy elementu nadrzędnego lub elementu podrzędnego. Na przykład kontrolka, która obsługuje regiony z możliwością przewijania (ale nie wybiera, aby nie pochodzić z kontrolek na poziomie platformy WPF, które już włączają regiony z możliwością przewijania) może porównać dostępny rozmiar z DesiredSize. Kontrolka może następnie ustawić stan wewnętrzny, który włączył paski przewijania w interfejsie użytkownika dla tej kontrolki. DesiredSize Ewentualnie można je również zignorować w niektórych scenariuszach.