FrameworkPropertyMetadata.AffectsParentMeasure Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Abhängigkeitseigenschaft möglicherweise den Bemessungsdurchgang des übergeordneten Elements während Layout-Engine-Vorgängen beeinflusst.

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

Eigenschaftswert

true , wenn sich die Abhängigkeitseigenschaft, für die diese Metadaten vorhanden sind, möglicherweise auf den Measureüberlauf speziell für das übergeordnete Element auswirkt; falseandernfalls . Der Standardwert ist 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.

Hinweise

FrameworkElement und FrameworkContentElement schließen eine Implementierung von ein OnPropertyChanged , die effektive Wertänderungen an allen Abhängigkeitseigenschaften überwacht, die für ein Element vorhanden sind. Als Teil dieser Logik initiieren Abhängigkeitseigenschaften, die den effektiven Wert ändern und Metadaten mit AffectsParentMeasure festgelegt sind, true eine verzögerte Anforderung, um die Visuals für das übergeordnete Element zu ungültig zu machen. Da diese Implementierung auf WPF-Frameworkebene bereits vorhanden ist, müssen Sie in der Regel nicht nach Abhängigkeitseigenschaften mit AffectsParentMeasure suchen, es sei denn, Sie ersetzen oder ändern das Layoutverhalten auf WPF-Frameworkebene wesentlich.

Im Allgemeinen müssen Sie änderungen einer FrameworkElement Eigenschaft an einem übergeordneten Element nicht mit AffectsParentMeasure melden, da das Element selbst bereits über eine eigene AffectsMeasure als trueverfügt. Dies ist in der Regel ausreichend, da Änderungen im untergeordneten Element in der Regel ggf. einen übergeordneten Measuredurchlauf initiieren. AffectsParentMeasure wird manchmal für eine abgeleitete FrameworkContentElement Klasse verwendet. In diesem Fall legt das untergeordnete Element eine Eigenschaft fest, aber eine FrameworkContentElement abgeleitete Klasse steuert ihr eigenes Rendering nicht. Das Rendering wird von einem FrameworkElement übergeordneten Element verarbeitet, das als Inhaltshost fungiert. Beispielsweise wird durch eine Änderung des Werts der Paragraph.KeepWithNext Eigenschaft durch ein untergeordnetes Element das Measure des übergeordneten Elements ungültig, da sich der relative Abstand von Absätzen ändern und die Größe des Inhaltshosts erhöhen oder verringern kann. Daher verfügt die Paragraph.KeepWithNext -Eigenschaft über Metadaten, wobei AffectsParentMeasure ist true.

Inhaltshostelemente suchen auch häufig nach Änderungen in Abhängigkeitseigenschaften, wobei AffectsParentMeasuretrueist , als Teil der Inhaltshostrenderinglogik. Beispielsweise muss das TextBox Element auf bestimmte Änderungen innerhalb von Text reagieren, die möglicherweise erfordern, dass das Begrenzungsfeld des TextBox sich selbst geändert wird.

Benutzerdefinierte OnPropertyChanged Implementierungen können ein ähnliches Verhalten für Abhängigkeitseigenschaftenänderungen aufweisen, wobei AffectsParentMeasure der Wert ist true.

Eigenschaften für alle abgeleiteten Klassen von PropertyMetadata werden im Objektmodell in der Regel als Lese-/Schreibzugriff definiert. Dadurch können sie nach der Initialisierung der Instanz angepasst werden. Nachdem die Metadaten jedoch im Rahmen eines Aufrufs Registervon , AddOwneroder OverrideMetadataverwendet wurden, versiegelt das Eigenschaftensystem, dass metadateninstanz und -eigenschaften, die die Besonderheiten der Metadaten vermitteln, jetzt als unveränderlich angesehen werden. Der Versuch, diese Eigenschaft festzulegen, nachdem IsSealed sich true auf dieser Metadateninstanz befindet, löst eine Ausnahme aus.

XAML-Textverwendung

Member dieser Klasse werden in der Regel nicht in XAML verwendet.

Gilt für:

Weitere Informationen