Condividi tramite


UIElement.Measure(Size) Metodo

Definizione

Aggiorna DesiredSize di UIElement. Gli elementi padre chiamano questo metodo dalle rispettive implementazioni di MeasureCore(Size) per formare un aggiornamento ricorsivo del layout. Questo metodo costituisce il primo passaggio (passaggio di misurazione) di un aggiornamento del layout.

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)

Parametri

availableSize
Size

Lo spazio disponibile che un elemento padre può allocare a un elemento figlio. Un elemento figlio può richiedere più spazio rispetto a quello disponibile. È possibile adattare la dimensione specificata se lo scorrimento è possibile nel modello di contenuto per l'elemento corrente.

Commenti

Il calcolo del posizionamento del layout in Windows Presentation Foundation (WPF) è costituito da una chiamata e da una Measure Arrange chiamata. Durante la Measure chiamata, un elemento determina i requisiti di dimensione usando un availableSize input. Durante la Arrange chiamata, la dimensione dell'elemento viene finalizzata.

availableSize può essere qualsiasi numero da zero a infinito. Gli elementi che partecipano al layout devono restituire il valore minimo Size necessario per un determinato availableSizeoggetto .

Quando viene creata per la prima volta un'istanza di un layout, riceve sempre una Measure chiamata prima Arrangedi . Tuttavia, dopo il primo passaggio di layout, può ricevere una Arrange chiamata senza un Measureoggetto . Ciò può verificarsi quando una proprietà che influisce solo Arrange su viene modificata (ad esempio l'allineamento) o quando l'elemento padre riceve un Arrange oggetto senza un Measureoggetto . Una Measure chiamata invaliderà automaticamente una Arrange chiamata.

Gli aggiornamenti del layout vengono eseguiti in modo asincrono, in modo che il thread principale non sia in attesa di ogni possibile modifica del layout. L'esecuzione di query su un elemento tramite il controllo code-behind dei valori delle proprietà potrebbe non riflettere immediatamente le modifiche apportate alle proprietà che interagiscono con le caratteristiche di ridimensionamento o layout , ad esempio la Width proprietà .

Nota

Gli aggiornamenti del layout possono essere forzati usando il UpdateLayout metodo . Tuttavia, la chiamata a questo metodo è in genere non necessaria e può causare prestazioni scarse.

Il sistema di layout mantiene due code separate di layout non validi, una per Measure e una per Arrange. La coda di layout viene ordinata in base all'ordine degli elementi nella struttura ad albero visuale dell'elemento che esegue il layout; gli elementi più alti nell'albero si trovano nella parte superiore della coda, per evitare layout ridondanti causati da modifiche ripetute negli elementi padre. Le voci duplicate vengono rimosse automaticamente dalla coda e gli elementi vengono rimossi automaticamente dalla coda se sono già convalidati dal layout.

Quando si aggiorna il layout, la Measure coda viene svuotata per prima, seguita dalla Arrange coda. Un elemento nella Arrange coda non verrà mai disposto se è presente un elemento nella Measure coda.

Si applica a