Partilhar via


FrameworkElement.MeasureOverride(Size) Método

Definição

Quando substituído em uma classe derivada, mede o tamanho em layout necessário para elementos filho e determina um tamanho para a classe derivada em 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

Parâmetros

availableSize
Size

O tamanho disponível que esse elemento pode fornecer aos elementos filho. Infinito pode ser especificado como um valor para indicar que o elemento será dimensionado para qualquer conteúdo que estiver disponível.

Retornos

Size

O tamanho desse elemento determina o que ele precisa durante o layout, com base em seus cálculos de tamanhos de elemento filho.

Comentários

Substitua MeasureOverride para implementar o comportamento de dimensionamento de layout personalizado para seu elemento, pois ele participa do sistema de layout do Windows Presentation Foundation (WPF). Sua implementação deve fazer o seguinte:

  1. Iterar a coleção específica de filhos do elemento que fazem parte do layout, chame Measure cada elemento filho.

  2. Entre imediatamente DesiredSize no filho (isso é definido como uma propriedade depois Measure de ser chamado).

  3. Compute o tamanho desejado da rede do pai com base na medida dos elementos filho.

O valor retornado MeasureOverride deve ser o tamanho desejado do próprio elemento, que se torna a entrada de medida para o elemento pai do elemento atual. Esse mesmo processo continua por meio do sistema de layout até que o elemento raiz da página seja atingido.

Durante esse processo, os elementos filho podem retornar um tamanho maior DesiredSize do que o inicial availableSize para indicar que o elemento filho deseja mais espaço. Isso pode ser tratado em sua própria implementação introduzindo uma região rolável, redimensionando o controle pai, estabelecendo algum tipo de ordem empilhada ou qualquer número de soluções para medir ou organizar conteúdo.

Importante

Os elementos devem chamar Measure cada filho durante esse processo, caso contrário, os elementos filho não serão dimensionados ou organizados corretamente.

Notas aos Herdeiros

O código de não compilação a seguir mostra esse padrão de implementação. VisualChildren representa uma propriedade de coleção enumerável de filhos que seu próprio elemento deve definir. A propriedade pode ser nomeada qualquer coisa. VisualChildren é um nome de espaço reservado para fins deste exemplo, VisualChildren não é uma API como fornecido pelo WPF ou uma parte de um padrão de nomenclatura.

Aplica-se a