UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) UIElement.Measure(Size) Method

Définition

Met à jour le DesiredSize d’un UIElement.Updates the DesiredSize of a 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.Parent elements call this method from their own MeasureCore(Size) implementations to form a recursive layout update. L’appel de cette méthode constitue la première passe (la passe « Mesure ») de la mise à jour d’une disposition.Calling this method constitutes the first pass (the "Measure" pass) of a layout update.

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 Size Size Size

L’espace disponible qu’un élément parent peut allouer à un élément enfant.The available space that a parent element can allocate a child element. 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.A child element can request a larger space than what is available; the provided size might be accommodated if scrolling is possible in the content model for the current element.

Remarques

Calcul de positionnement dans Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) se compose d’un Measure appeler et un Arrange appeler.Computation of layout positioning in Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) is comprised of a Measure call and an Arrange call. Lors de la Measure appel, un élément détermine ses exigences de taille en utilisant un availableSize d’entrée.During the Measure call, an element determines its size requirements by using an availableSize input. Pendant la Arrange appel, la taille d’élément est finalisé.During the Arrange call, the element size is finalized.

availableSize peut être n’importe quel nombre compris entre zéro et infini.availableSize can be any number from zero to infinite. Éléments participant à la disposition doivent retourner la valeur minimale Size ils ont besoin pour une donnée availableSize.Elements participating in layout should return the minimum Size they require for a given availableSize.

Lorsqu’une mise en page est instanciée, elle reçoit toujours un Measure appeler avant Arrange.When a layout is first instantiated, it always receives a Measure call before Arrange. Toutefois, après la première passe de disposition, il peut recevoir un Arrange appeler sans un Measure; cela peut se produire lorsqu’une propriété qui affecte uniquement Arrange est modifiée (par exemple, alignement), ou lorsque le parent reçoit un Arrange sans un Measure.However, after the first layout pass, it may receive an Arrange call without a Measure; this can happen when a property that affects only Arrange is changed (such as alignment), or when the parent receives an Arrange without a Measure. Un Measure appel invalidera automatiquement un Arrange appeler.A Measure call will automatically invalidate an Arrange call.

Mises à jour de disposition se produisent de façon asynchrone, telles que le thread principal n’attend pas de chaque modification de la disposition.Layout updates happen asynchronously, such that the main thread is not waiting for every possible layout change. Interrogation d’un élément par le biais de la vérification des valeurs de propriété de code-behind ne peut pas refléter immédiatement les modifications apportées aux propriétés qui interagissent avec les caractéristiques de dimensionnement ou de disposition (le Width propriété, par exemple).Querying an element via code-behind checking of property values may not immediately reflect changes to properties that interact with the sizing or layout characteristics (the Width property, for example).

Notes

Mises à jour de disposition peuvent être forcés à l’aide de la UpdateLayout (méthode).Layout updates can be forced by using the UpdateLayout method. Toutefois, l’appel de cette méthode est généralement inutile et peut altérer les performances.However, calling this method is usually unnecessary and can cause poor performance.

Le système de disposition effectue deux files d’attente distinctes de dispositions non valides, une pour Measure et l’autre pour Arrange.The layout system keeps two separate queues of invalid layouts, one for Measure and one for Arrange. La file d’attente de disposition est triée en fonction de l’ordre des éléments dans l’arborescence visuelle de l’élément de mise en forme ; plus haut dans l’arborescence d’éléments figurent en haut de la file d’attente, afin d’éviter des dispositions redondantes causées par des modifications répétées dans les parents.The layout queue is sorted based upon the order of elements in the visual tree of the element performing layout; elements higher in the tree are at the top of the queue, to avoid redundant layouts caused by repeated changes in parents. 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 à la disposition.Duplicate entries are automatically removed from the queue, and elements are automatically removed from the queue if they are already layout-validated.

Lors de la mise à jour de disposition, le Measure file d’attente est d’abord vidée, suivi par le Arrange file d’attente.When updating layout, the Measure queue is emptied first, followed by the Arrange queue. Un élément dans le Arrange file d’attente n’est jamais disposé s’il existe un élément dans le Measure file d’attente.An element in the Arrange queue will never be arranged if there is an element in the Measure queue.

S’applique à