FrameworkPropertyMetadata.AffectsParentArrange Propriedade

Definição

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

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

Valor de Propriedade

true se a propriedade de dependência sobre a qual estes metadados existem afetar potencialmente a passagem de arranjo 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 AffectsParentArrange definidos para true iniciam um pedido diferido para invalidar os visuais do elemento pai.

Geralmente, não é necessário reportar alterações de uma FrameworkElement propriedade a um elemento pai usando AffectsParentArrange porque o próprio elemento já teria a sua AffectsArrange própria como true. Isso costuma ser suficiente, porque alterações no elemento filho geralmente iniciam um acordo parental quando apropriado. AffectsParentArrange é 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 FixedPage.Left propriedade anexada por um elemento filho invalida o arranjo do pai, porque a posição do filho no pai deve ser alterada. Portanto, a FixedPage.Left propriedade associada tem metadados onde AffectsParentArrange é true. Outro exemplo é Padding; quando esta propriedade muda, o progenitor pode alterar a posição do filho, dependendo do espaço disponível.

Como esta implementação WPF ao nível da framework já está implementada, normalmente não é necessário procurar propriedades de dependência com AffectsParentArrange a menos que esteja a substituir ou modificar substancialmente o comportamento WPF layout ao nível da framework.

Implementações personalizadas OnPropertyChanged podem optar por ter um comportamento semelhante para alterações de propriedades de dependência onde AffectsParentArrange é 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