FrameworkPropertyMetadata.AffectsParentMeasure Propriedade

Definição

Recebe ou define um valor que indica se uma propriedade de dependência afeta potencialmente a passagem de medida do layout do seu elemento pai durante as operações do motor de layout.

public:
 property bool AffectsParentMeasure { bool get(); void set(bool value); };
public bool AffectsParentMeasure { get; set; }
member this.AffectsParentMeasure : bool with get, set
Public Property AffectsParentMeasure As Boolean

Valor de Propriedade

true se a propriedade de dependência sobre a qual estes metadados existem afetar potencialmente a passagem da medida especificamente sobre o seu elemento pai; caso contrário, false. A predefinição é false.

Exceções

Os metadados já foram aplicados a uma operação de propriedade de dependência, pelo que os metadados ficam selados e as propriedades dos metadados não podem ser definidas.

Observações

FrameworkElement e FrameworkContentElement incluir uma implementação de OnPropertyChanged que monitorize as alterações de valor efetivo de todas as propriedades de dependência que existem num elemento. Como parte dessa lógica, propriedades de dependência que alteram o valor efetivo e têm metadados AffectsParentMeasure definidos para true iniciam um pedido diferido para invalidar os visuais do elemento pai. Como esta implementação WPF ao nível da framework já está implementada, normalmente não é necessário procurar propriedades de dependência com AffectsParentMeasure a menos que esteja a substituir ou modificar substancialmente o comportamento WPF layout ao nível da framework.

Geralmente, não é necessário reportar alterações de uma FrameworkElement propriedade a um elemento pai usando AffectsParentMeasure porque o próprio elemento já teria a sua AffectsMeasure própria como true. Isso é geralmente suficiente, porque as alterações no elemento filho geralmente iniciam a aprovação da medida parental quando apropriado. AffectsParentMeasure é por vezes usado para uma FrameworkContentElement classe derivada. Neste caso, o elemento filho define uma propriedade, mas uma FrameworkContentElement classe derivada não controla a sua própria renderização. A renderização é gerida por um FrameworkElement elemento pai que serve como anfitrião do conteúdo. Por exemplo, uma alteração no valor da Paragraph.KeepWithNext propriedade por um elemento filho invalida a medida do pai, porque o espaçamento relativo dos parágrafos pode mudar e pode aumentar ou diminuir o tamanho do host do conteúdo. Portanto, a Paragraph.KeepWithNext propriedade tem metadados onde AffectsParentMeasure é true.

Os elementos do anfitrião de conteúdo também procuram frequentemente alterações nas propriedades das dependências onde AffectsParentMeasure é true, como parte da lógica de renderização do anfitrião de conteúdo. Por exemplo, o TextBox elemento deve responder a certas alterações dentro do texto que podem exigir que a própria caixa TextBox delimitadora seja alterada.

Implementações personalizadas OnPropertyChanged podem optar por ter um comportamento semelhante para alterações de propriedades de dependência onde AffectsParentMeasure é true.

As propriedades em quaisquer classes derivadas de PropertyMetadata são tipicamente definidas no modelo de objetos como leitura-escrita. Isto serve para que possam ser ajustados após a inicialização da instância. No entanto, depois de os metadados serem consumidos como parte de uma chamada a Register, AddOwner, ou OverrideMetadata, o sistema de propriedades selará essa instância de metadados e as propriedades que transmitem as especificidades dos metadados são agora consideradas imutáveis. Tentar definir esta propriedade depois IsSealed de estar true nesta instância de metadados irá gerar uma exceção.

Utilização de Texto XAML

Os membros desta classe normalmente não são usados em XAML.

Aplica-se a

Ver também