Partager via


UIElement.DesiredSize Propriété

Définition

Obtient la taille que cet élément a calculée pendant la passe de mesure du processus de disposition.

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

Valeur de propriété

Taille calculée, qui devient la taille souhaitée pour la passe de réorganisation.

Exemples

L’exemple suivant s’affiche DesiredSize dans le cadre d’une MeasureOverride implémentation. Notez comment Measure est appelé immédiatement avant d’obtenir DesiredSize. Cela garantit que DesiredSize détient une valeur légitime.

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

Remarques

La valeur retournée par cette propriété ne sera une mesure valide que si la valeur de la IsMeasureValid propriété est true.

DesiredSizeest généralement vérifié comme l’un des facteurs de mesure lorsque vous implémentez des remplacements de comportement de disposition tels que ArrangeOverride, MeasureOverrideou OnRender (dans le cas, vous pouvez vérifier RenderSize à la OnRender place, mais cela dépend de votre implémentation). Selon le scénario, DesiredSize peuvent être entièrement respectés par votre logique d’implémentation, les contraintes sur DesiredSize peuvent être appliquées, et ces contraintes peuvent également modifier d’autres caractéristiques de l’élément parent ou de l’élément enfant. Par exemple, un contrôle qui prend en charge les régions avec défilement (mais choisit de ne pas dériver des contrôles au niveau de l’infrastructure WPF qui activent déjà les régions avec défilement) peut comparer la taille disponible à DesiredSize. Le contrôle peut ensuite définir un état interne qui active les barres de défilement dans l’interface utilisateur de ce contrôle. Ou, DesiredSize peut également être ignoré dans certains scénarios.

S’applique à

Voir aussi