FrameworkPropertyMetadata.AffectsParentArrange Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Abhängigkeitseigenschaft möglicherweise die Anordnungsphase des übergeordneten Elements während Layout-Engine-Vorgängen beeinflusst.Gets or sets a value that indicates whether a dependency property potentially affects the arrange pass of its parent element's layout during layout engine operations.

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

Eigenschaftswert

Boolean

true, wenn die Abhängigkeitseigenschaft, für die diese Metadaten vorhanden sind, möglicherweise die Anordnungsphase beeinflusst (insbesondere für das übergeordnete Element), andernfalls false.true if the dependency property on which this metadata exists potentially affects the arrange pass specifically on its parent element; otherwise, false. Der Standardwert lautet false.The default is false.

Ausnahmen

Die Metadaten wurden bereits auf einen Vorgang der Abhängigkeitseigenschaft angewendet, sodass Metadaten versiegelt sind und keine Eigenschaften für Metadaten festgelegt werden können.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Hinweise

FrameworkElement und FrameworkContentElement enthalten eine Implementierung von OnPropertyChanged, mit der effektive Wertänderungen an allen in einem Element vorhandenen Abhängigkeits Eigenschaften überwacht werden.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Im Rahmen dieser Logik wird durch Abhängigkeits Eigenschaften, die einen effektiven Wert ändern und Metadaten aufweisen, bei denen AffectsParentArrange auf true festgelegt ist, eine verzögerte Anforderung initiiert, um die visuellen Elemente für das übergeordnete Element ungültig zu machen.As part of that logic, dependency properties that change effective value and have metadata with AffectsParentArrange set to true will initiate a deferred request to invalidate the visuals for the parent element.

Im Allgemeinen ist es nicht erforderlich, Änderungen einer FrameworkElement-Eigenschaft mithilfe AffectsParentArrange an ein übergeordnetes Element zu melden, da das Element selbst bereits seine eigene AffectsArrange truehat.Generally, you do not need to report changes of a FrameworkElement property to a parent element using AffectsParentArrange because the element itself would already have its own AffectsArrange as true. Das ist in der Regel ausreichend, da Änderungen im untergeordneten Element im Allgemeinen eine übergeordnete anordnen initiieren, wenn dies angebracht ist.That is usually sufficient, because changes in the child element generally initiate a parent arrange when appropriate. AffectsParentArrange wird manchmal für eine FrameworkContentElement abgeleitete Klasse verwendet.AffectsParentArrange is sometimes used for a FrameworkContentElement derived class. In diesem Fall legt das untergeordnete-Element eine Eigenschaft fest, aber eine FrameworkContentElement abgeleitete Klasse steuert nicht Ihr eigenes Rendering.In this case, the child element sets a property, but a FrameworkContentElement derived class does not control its own rendering. Das Rendering wird von einem FrameworkElement übergeordneten Element behandelt, das als Inhalts Host fungiert.The rendering is handled by a FrameworkElement parent element that serves as the content host. Beispielsweise wird durch eine Änderung des Werts der angefügten FixedPage.Left angefügten Eigenschaft durch ein untergeordnetes Element die Anordnung des übergeordneten Elements ungültig, da die Position des untergeordneten Elements im übergeordneten Element geändert werden muss.For instance, a change to the value of the FixedPage.Left attached property by a child element invalidates arrange of the parent, because the position of the child in the parent must be changed. Daher verfügt die FixedPage.Left angefügte-Eigenschaft über Metadaten, bei denen AffectsParentArrange trueist.Therefore, the FixedPage.Left attached property has metadata where AffectsParentArrange is true. Ein weiteres Beispiel ist Padding. Wenn diese Eigenschaft geändert wird, kann das übergeordnete Element abhängig vom verfügbaren Platz die Positionierung des untergeordneten Elements ändern.Another example is Padding; when this property changes, the parent might change the positioning of the child, depending on available space.

Da diese Implementierung auf WPF-Frameworkebene bereits vorhanden ist, müssen Sie in der Regel keine Abhängigkeits Eigenschaften mit AffectsParentArrange suchen, es sei denn, Sie ersetzen oder ändern das Layoutverhalten auf WPF-Frameworkebene.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsParentArrange unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Benutzerdefinierte OnPropertyChanged Implementierungen können ein ähnliches Verhalten für Änderungen an Abhängigkeits Eigenschaften haben, bei denen AffectsParentArrange trueist.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsParentArrange is true.

Eigenschaften für abgeleitete Klassen von PropertyMetadata werden in der Regel im Objektmodell als Lese-/Schreibzugriff definiert.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. So können Sie nach der Initialisierung der-Instanz angepasst werden.This is so they can be adjusted after initialization of the instance. Nachdem die Metadaten jedoch im Rahmen eines Aufrufes Register, AddOwneroder OverrideMetadataverarbeitet wurden, versiegelt das Eigenschaften System, dass die Metadateninstanz und die Eigenschaften, die die Einzelheiten der Metadaten vermitteln, jetzt als unveränderlich angesehen werden.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Wenn Sie versuchen, diese Eigenschaft festzulegen, nachdem IsSealed in dieser Metadateninstanz true ist, wird eine Ausnahme ausgelöst.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Verwendung von XAML-TextXAML Text Usage

Member dieser Klasse werden in der Regel nicht in XAMLXAMLverwendet.Members of this class are not typically used in XAMLXAML.

Gilt für:

Siehe auch