Condividi tramite


FrameworkElement.MeasureOverride(Size) Metodo

Definizione

In caso di override in una classe derivata, misura le dimensioni nel layout necessarie per gli elementi figlio e determina le dimensioni per la classe derivata da 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

Parametri

availableSize
Size

Dimensioni disponibili che l'elemento può assegnare agli elementi figlio. È possibile specificare infinito come valore per indicare che l'elemento verrà adattato a qualsiasi contenuto disponibile.

Restituisce

Size

Dimensioni che questo elemento determina come necessarie durante il layout, in base ai calcoli delle dimensioni degli elementi figlio.

Commenti

Eseguire l'override per implementare MeasureOverride il comportamento di ridimensionamento del layout personalizzato per l'elemento quando partecipa al sistema di layout Windows Presentation Foundation (WPF). L'implementazione deve eseguire le operazioni seguenti:

  1. Eseguire l'iterazione della raccolta specifica dell'elemento figlio che fanno parte del layout, chiamare Measure su ogni elemento figlio.

  2. Immediatamente ottenere DesiredSize l'elemento figlio (questa proprietà viene impostata come proprietà dopo Measure la chiamata).

  3. Calcolare le dimensioni desiderate nette dell'elemento padre in base alla misura degli elementi figlio.

Il valore restituito di MeasureOverride deve essere la dimensione desiderata dell'elemento, che diventa quindi l'input della misura per l'elemento padre dell'elemento corrente. Questo stesso processo continua attraverso il sistema di layout fino a quando non viene raggiunto l'elemento radice della pagina.

Durante questo processo, gli elementi figlio potrebbero restituire una dimensione maggiore DesiredSize rispetto all'iniziale availableSize per indicare che l'elemento figlio desidera più spazio. Questa operazione può essere gestita nella propria implementazione introducendo un'area scorrevole, ridimensionando il controllo padre, stabilendo un certo tipo di ordine in pila o qualsiasi numero di soluzioni per la misurazione o la disposizione del contenuto.

Importante

Gli elementi devono chiamare Measure su ogni elemento figlio durante questo processo; in caso contrario, gli elementi figlio non verranno ridimensionati correttamente o disposti.

Note per gli eredi

Il codice non compilato seguente illustra questo modello di implementazione. VisualChildren rappresenta una proprietà raccolta enumerabile di elementi figlio che deve essere definita dall'elemento. La proprietà può essere denominata qualsiasi elemento. VisualChildren è un nome segnaposto ai fini di questo esempio, VisualChildren non è un'API fornita da WPF o parte di un modello di denominazione.

Si applica a