Compartilhar via


FrameworkPropertyMetadata.AffectsParentArrange Propriedade

Definição

Obtém ou define um valor que indica se uma propriedade de dependência potencialmente afeta a passagem de organização do layout do respectivo elemento pai durante operações de mecanismo 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 da propriedade

Boolean

true se a propriedade de dependência na qual esses metadados existem potencialmente afetará a organização passar especificamente em seu elemento pai; caso contrário, false. O padrão é false.

Exceções

Os metadados já foram aplicados à operação de propriedade de dependência, portanto os metadados estão selados e as propriedades dos metadados não podem ser definidas.

Comentários

FrameworkElement e FrameworkContentElement inclua uma implementação que OnPropertyChanged monitora alterações de valor efetivas em todas as propriedades de dependência existentes em um elemento. Como parte dessa lógica, as propriedades de dependência que alteram o valor efetivo e têm metadados definidos AffectsParentArrange para true iniciarão uma solicitação adiada para invalidar os visuais do elemento pai.

Em geral, você não precisa relatar alterações de uma FrameworkElement propriedade para um elemento pai usando AffectsParentArrange porque o elemento em si já teria sua própriaAffectsArrange.true Isso geralmente é suficiente, pois as alterações no elemento filho geralmente iniciam uma organização pai quando apropriado. AffectsParentArrange às vezes é usado para uma FrameworkContentElement classe derivada. Nesse caso, o elemento filho define uma propriedade, mas uma FrameworkContentElement classe derivada não controla sua própria renderização. A renderização é tratada por um FrameworkElement elemento pai que serve como o host de conteúdo. Por exemplo, uma alteração no valor da FixedPage.Left propriedade anexada por um elemento filho invalida a organização do pai, pois a posição do filho no pai deve ser alterada. Portanto, a FixedPage.Left propriedade anexada tem metadados onde AffectsParentArrange está true. Outro exemplo é Padding: quando essa propriedade é alterada, o pai pode alterar o posicionamento do filho, dependendo do espaço disponível.

Como essa implementação no nível da estrutura do WPF já está em vigor, normalmente você não precisa procurar propriedades de dependência, AffectsParentArrange a menos que você esteja substituindo ou modificando substancialmente o comportamento de layout no nível da estrutura do WPF.

As implementações personalizadas OnPropertyChanged podem optar por ter um comportamento semelhante para alterações de propriedade de dependência.AffectsParentArrange true

As propriedades em quaisquer classes derivadas são PropertyMetadata normalmente definidas no modelo de objeto como leitura-gravação. Isso é para que eles possam ser ajustados após a inicialização da instância. No entanto, depois que os metadados forem consumidos como parte de uma chamada para Register, AddOwnerou OverrideMetadata, o sistema de propriedades selará essa instância de metadados e as propriedades que transmitem as especificidades dos metadados agora são consideradas imutáveis. A tentativa de definir essa propriedade depois IsSealed de estar true nessa instância de metadados gerará uma exceção.

Uso de texto XAML

Os membros dessa classe normalmente não são usados no XAML.

Aplica-se a

Confira também