UIElement.Measure(Size) Méthode
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.
Met à jour le DesiredSize d’un UIElement. Les éléments parents appellent cette méthode à partir de leurs propres implémentations de MeasureCore(Size) pour former une mise à jour de disposition récursive. L’appel de cette méthode constitue la première passe (la passe « Mesure ») de la mise à jour d’une disposition.
public:
void Measure(System::Windows::Size availableSize);
public void Measure (System.Windows.Size availableSize);
member this.Measure : System.Windows.Size -> unit
Public Sub Measure (availableSize As Size)
Paramètres
- availableSize
- Size
L’espace disponible qu’un élément parent peut allouer à un élément enfant. Un élément enfant peut demander plus d’espace que ce qui est disponible ; la taille fournie peut être adaptée si le défilement est possible dans le modèle de contenu pour l’élément actuel.
Remarques
Le calcul du positionnement de disposition dans Windows Presentation Foundation (WPF) est constitué d’un Measure appel et d’un Arrange appel. Pendant l’appel, un élément détermine ses exigences de taille à l’aide Measure d’une availableSize
entrée. Pendant l’appel, la taille de l’élément Arrange est finalisée.
availableSize
peut être n’importe quel nombre de zéro à infini. Les éléments participant à la disposition doivent retourner le minimum Size requis pour un donné availableSize
.
Lorsqu’une disposition est instanciée pour la première fois, elle reçoit toujours un Measure appel avant Arrange. Toutefois, après le premier passage de disposition, il peut recevoir un Arrange appel sans un Measure; cela peut se produire lorsqu’une propriété qui affecte uniquement Arrange est modifiée (par exemple, l’alignement) ou lorsque le parent reçoit un Arrange sans un Measure. Un Measure appel invalide automatiquement un Arrange appel.
Les mises à jour de disposition se produisent de manière asynchrone, de sorte que le thread principal n’attend pas chaque modification de disposition possible. L’interrogation d’un élément via la vérification code-behind des valeurs de propriété peut ne pas refléter immédiatement les modifications apportées aux propriétés qui interagissent avec les caractéristiques de dimensionnement ou de disposition (la Width propriété, par exemple).
Notes
Les mises à jour de disposition peuvent être forcées à l’aide de la UpdateLayout méthode. Toutefois, l’appel de cette méthode est généralement inutile et peut entraîner des performances médiocres.
Le système de disposition conserve deux files d’attente distinctes de dispositions non valides, une pour Measure et une pour Arrange. La file d’attente de disposition est triée en fonction de l’ordre des éléments de l’arborescence visuelle de l’élément exécutant la disposition; les éléments plus élevés dans l’arborescence se trouvent en haut de la file d’attente, pour éviter les dispositions redondantes causées par des modifications répétées dans les parents. Les entrées en double sont automatiquement supprimées de la file d’attente et les éléments sont automatiquement supprimés de la file d’attente s’ils sont déjà validés par la disposition.
Lors de la mise à jour de la disposition, la Measure file d’attente est vidée en premier, suivie de la Arrange file d’attente. Un élément de la Arrange file d’attente ne sera jamais organisé s’il existe un élément dans la Measure file d’attente.