Condividi tramite


UIElement.Measure(Size) Metodo

Definizione

Aggiorna l'oggetto DesiredSize di un oggetto UIElement. Gli elementi padre chiamano questo metodo dalle proprie MeasureCore(Size) implementazioni per formare un aggiornamento ricorsivo del layout. La chiamata a questo metodo costituisce il primo passaggio (passaggio "Misura") 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

Spazio disponibile che un elemento padre può allocare un elemento figlio. Un elemento figlio può richiedere uno spazio maggiore di quello disponibile; Le dimensioni specificate possono essere adattate 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 Measure chiamata e da una 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 minimo Size necessario per un determinato availableSizeoggetto .

Quando viene creata 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 . MeasureCiò può verificarsi quando una proprietà che influisce solo Arrange su viene modificata (ad esempio l'allineamento) o quando l'elemento padre riceve un oggetto Arrange 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à .

Annotazioni

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