UIElement.DesiredSize Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.