Freigeben über


FrameworkPropertyMetadata.AffectsParentMeasure Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Abhängigkeitseigenschaft potenziell den Messdurchlauf des Layouts des übergeordneten Elements während layoutmodul-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

truewenn die Abhängigkeitseigenschaft, von der diese Metadaten vorhanden sind, potenziell auswirkungen auf den Measuredurchlauf speziell auf das übergeordnete Element; andernfalls . false Der Standardwert lautet false.

Ausnahmen

Die Metadaten wurden bereits auf einen Abhängigkeitseigenschaftsvorgang angewendet, sodass Metadaten versiegelt sind und Eigenschaften der Metadaten nicht festgelegt werden können.

Hinweise

FrameworkElement und FrameworkContentElement fügen Sie eine Implementierung davon OnPropertyChanged ein, die effektive Wertänderungen an allen Abhängigkeitseigenschaften überwacht, die für ein Element vorhanden sind. Als Teil dieser Logik werden Abhängigkeitseigenschaften, die einen effektiven Wert ändern und metadaten mit AffectsParentMeasure festgelegtem Wert haben true , eine verzögerte Anforderung initiieren, um die visuellen Elemente für das übergeordnete Element ungültig zu machen. Da diese Implementierung auf WPF-Frameworkebene bereits vorhanden ist, müssen Sie in der Regel nicht nach Abhängigkeitseigenschaften AffectsParentMeasure suchen, es sei denn, Sie ersetzen oder ändern das Layoutverhalten auf WPF-Frameworkebene erheblich.

Im Allgemeinen müssen Sie keine Änderungen einer FrameworkElement Eigenschaft an ein übergeordnetes Element melden, AffectsParentMeasure da das Element selbst bereits eine eigene AffectsMeasure als true. Dies ist in der Regel ausreichend, da Änderungen im untergeordneten Element in der Regel bei Bedarf einen übergeordneten Measuredurchlauf initiieren. AffectsParentMeasure wird manchmal für eine FrameworkContentElement abgeleitete Klasse verwendet. In diesem Fall legt das untergeordnete Element eine Eigenschaft fest, aber eine FrameworkContentElement abgeleitete Klasse steuert nicht das eigene Rendering. Das Rendering wird von einem FrameworkElement übergeordneten Element behandelt, das als Inhaltshost dient. 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 vergrößern oder verkleinern kann. Daher verfügt die Paragraph.KeepWithNext Eigenschaft über Metadaten, wo AffectsParentMeasure sich befindet true.

Inhaltshostelemente suchen auch häufig nach Änderungen an Abhängigkeitseigenschaften, bei denen AffectsParentMeasure es sich um eine Inhaltshostrenderinglogik handelt true. Beispielsweise muss das TextBox Element auf bestimmte Änderungen innerhalb von Text reagieren, die möglicherweise erfordern, dass das Begrenzungsfeld des TextBox Selbst geändert wird.

Benutzerdefinierte OnPropertyChanged Implementierungen können ein ähnliches Verhalten für Abhängigkeitseigenschaftsänderungen aufweisen.AffectsParentMeasuretrue

Eigenschaften für abgeleitete Klassen PropertyMetadata werden in der Regel im Objektmodell als Lese-/Schreibzugriff definiert. Dies ist so, dass sie nach der Initialisierung der Instanz angepasst werden können. Nachdem die Metadaten jedoch als Teil eines Aufrufs Registervon , AddOwneroder , oder OverrideMetadata, das Eigenschaftensystem verwendet wird, wird die Metadateninstanz und -eigenschaften, die die Besonderheiten der Metadaten vermitteln, jetzt als unveränderlich betrachtet. Wenn Sie versuchen, diese Eigenschaft festzulegen, IsSealedtrue wird in dieser Metadateninstanz eine Ausnahme ausgelöst.

XAML-Textverwendung

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

Gilt für:

Weitere Informationen