FrameworkPropertyMetadata.AffectsParentArrange Propiedad

Definición

Obtiene o establece un valor que indica si una propiedad de dependencia afecta potencialmente al paso de organización del diseño de su elemento principal durante las operaciones del motor de diseño.

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 propiedad

Boolean

true si la propiedad de dependencia en la que existen estos metadatos afecta potencialmente al paso de organización, específicamente en su elemento principal; de lo contrario, false. De manera predeterminada, es false.

Excepciones

Los metadatos ya se aplicaron a una operación de propiedad de dependencia, por lo que están sellados y no se pueden establecer sus propiedades.

Comentarios

FrameworkElement e FrameworkContentElement incluyen una implementación de que supervisa los cambios de OnPropertyChanged valor efectivos en todas las propiedades de dependencia que existen en un elemento. Como parte de esa lógica, las propiedades de dependencia que cambian el valor efectivo y tienen metadatos con AffectsParentArrange establecido en true iniciarán una solicitud diferida para invalidar los objetos visuales del elemento primario.

Por lo general, no es necesario notificar los cambios de una FrameworkElement propiedad a un elemento primario mediante AffectsParentArrange porque el propio elemento ya tendría su propio AffectsArrange como true. Normalmente es suficiente, ya que los cambios en el elemento secundario suelen iniciar una organización primaria cuando corresponda. AffectsParentArrange a veces se usa para una FrameworkContentElement clase derivada. En este caso, el elemento secundario establece una propiedad, pero una FrameworkContentElement clase derivada no controla su propia representación. La representación se controla mediante un FrameworkElement elemento primario que actúa como host de contenido. Por ejemplo, un cambio en el valor de la FixedPage.Left propiedad adjunta por un elemento secundario invalida la organización del elemento primario, ya que la posición del elemento secundario en el elemento primario debe cambiarse. Por lo tanto, la FixedPage.Left propiedad adjunta tiene metadatos donde AffectsParentArrange es true. Otro ejemplo es Padding; cuando esta propiedad cambia, el elemento primario podría cambiar la posición del elemento secundario, en función del espacio disponible.

Dado que esta implementación de nivel de marco de WPF ya está en vigor, normalmente no es necesario buscar propiedades de dependencia con AffectsParentArrange a menos que reemplace o modifique sustancialmente el comportamiento de diseño de nivel de marco de WPF.

Las implementaciones personalizadas OnPropertyChanged pueden optar por tener un comportamiento similar para los cambios de propiedad de dependencia, donde AffectsParentArrange es true.

Las propiedades de cualquier clase derivada de PropertyMetadata se definen normalmente en el modelo de objetos como lectura y escritura. Esto es para que se puedan ajustar después de la inicialización de la instancia. Sin embargo, después de consumir los metadatos como parte de una llamada a Register, AddOwnero OverrideMetadata, el sistema de propiedades sellará que la instancia de metadatos y las propiedades que transmiten los detalles de los metadatos ahora se consideran inmutables. Si se intenta establecer esta propiedad después IsSealed de que se encuentra true en esta instancia de metadatos, se producirá una excepción.

Uso de texto XAML

Los miembros de esta clase no se suelen usar en XAML.

Se aplica a

Consulte también