Partager via


FrameworkElement.MeasureOverride(Size) Méthode

Définition

En cas de substitution dans une classe dérivée, mesure dans la disposition la taille nécessaire pour les éléments enfants et détermine une taille pour la classe dérivée de FrameworkElement.

protected:
 virtual System::Windows::Size MeasureOverride(System::Windows::Size availableSize);
protected virtual System.Windows.Size MeasureOverride (System.Windows.Size availableSize);
abstract member MeasureOverride : System.Windows.Size -> System.Windows.Size
override this.MeasureOverride : System.Windows.Size -> System.Windows.Size
Protected Overridable Function MeasureOverride (availableSize As Size) As Size

Paramètres

availableSize
Size

Taille disponible que cet élément peut donner aux éléments enfants. Vous pouvez définir une valeur infinie pour indiquer que l’élément se redimensionne en fonction du contenu disponible.

Retours

Size

Taille dont cet élément estime avoir besoin lors de la disposition, en fonction de ses calculs des tailles des éléments enfants.

Remarques

substituez MeasureOverride pour implémenter le comportement de dimensionnement de disposition personnalisé pour votre élément lorsqu’il participe au système de disposition Windows Presentation Foundation (WPF). Votre implémentation doit effectuer les opérations suivantes :

  1. Itérez la collection particulière d’enfants de votre élément qui fait partie de la disposition, appelez Measure sur chaque élément enfant.

  2. Obtenir immédiatement DesiredSize l’enfant (il est défini en tant que propriété après l' Measure appel de).

  3. Calculez la taille nette souhaitée du parent en fonction de la mesure des éléments enfants.

La valeur de retour de MeasureOverride doit correspondre à la taille souhaitée de l’élément, qui devient alors l’entrée de mesure pour l’élément parent de l’élément actuel. Ce même processus continue à travers le système de disposition jusqu’à ce que l’élément racine de la page soit atteint.

Pendant ce processus, les éléments enfants peuvent retourner une plus grande DesiredSize taille que le premier availableSize pour indiquer que l’élément enfant souhaite plus d’espace. Cela peut être géré dans votre propre implémentation en introduisant une région de défilement, en redimensionnant le contrôle parent, en établissant une méthode d’ordre empilé, ou un nombre quelconque de solutions pour la mesure ou la réorganisation du contenu.

Important

Les éléments doivent appeler Measure sur chaque enfant pendant ce processus, sinon les éléments enfants ne seront pas correctement dimensionnés ou organisés.

Notes pour les héritiers

Le code non compilé suivant illustre ce modèle d’implémentation. VisualChildren représente une propriété de collection énumérable des enfants que votre propre élément doit définir. La propriété peut être nommée n’importe quoi. VisualChildren est un nom d’espace réservé dans le cadre de cet exemple, VisualChildren n’est pas une API fournie par WPF ou une partie d’un modèle d’attribution de noms.

S’applique à