FrameworkPropertyMetadata.AffectsParentArrange Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Abhängigkeitseigenschaft möglicherweise den Anordnungsdurchlauf des Layouts des übergeordneten Elements während layoutmodul-Vorgängen beeinflusst.
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
truewenn die Abhängigkeitseigenschaft, von der diese Metadaten vorhanden sind, potenziell auswirkungen auf den Anordnungsdurchlauf 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 AffectsParentArrange festgelegtem Wert haben true , eine verzögerte Anforderung initiieren, um die visuellen Elemente für das übergeordnete Element ungültig zu machen.
Im Allgemeinen müssen Sie keine Änderungen einer FrameworkElement Eigenschaft an ein übergeordnetes Element melden, AffectsParentArrange da das Element selbst bereits eine eigene AffectsArrange als true. Dies ist in der Regel ausreichend, da Änderungen im untergeordneten Element in der Regel bei Bedarf eine übergeordnete Anordnung initiieren.
AffectsParentArrange 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 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. Daher weist die FixedPage.Left angefügte Eigenschaft Metadaten auf.AffectsParentArrangetrue Ein weiteres Beispiel: PaddingWenn sich diese Eigenschaft ändert, kann das übergeordnete Element die Positionierung des untergeordneten Elements je nach verfügbarer Fläche ändern.
Da diese Implementierung auf WPF-Frameworkebene bereits vorhanden ist, müssen Sie in der Regel nicht nach Abhängigkeitseigenschaften AffectsParentArrange suchen, es sei denn, Sie ersetzen oder ändern das Layoutverhalten auf WPF-Frameworkebene erheblich.
Benutzerdefinierte OnPropertyChanged Implementierungen können ein ähnliches Verhalten für Abhängigkeitseigenschaftsänderungen aufweisen.AffectsParentArrangetrue
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.