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 die Anordnungsphase des übergeordneten Elements während Layout-Engine-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
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
. 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 umfassen eine Implementierung, die OnPropertyChanged effektive Wertänderungen an allen Abhängigkeitseigenschaften überwacht, die auf einem Element vorhanden sind. Als Teil dieser Logik werden Abhängigkeitseigenschaften, die den effektiven Wert ändern und Metadaten AffectsParentArrange mit dem Satz haben, um true
eine verzögerte Anforderung zu initiieren, um die Visuellen für das übergeordnete Element zu ungültig zu machen.
Im Allgemeinen müssen Sie keine Änderungen einer Eigenschaft an ein FrameworkElement übergeordnetes Element AffectsParentArrange melden, da das Element selbst bereits als eigenes AffectsArrange true
Element vorhanden wäre. Das ist in der Regel ausreichend, da Änderungen im untergeordneten Element im Allgemeinen eine übergeordnete Anordnung initiieren, wenn dies erforderlich ist. AffectsParentArrange 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 nicht das eigene Rendering. Das Rendering wird von einem FrameworkElement übergeordneten Element behandelt, das als Inhaltshost dient. So wird beispielsweise eine Änderung des Werts FixedPage.Left der angefügten Eigenschaft durch ein untergeordnetes Element ungültig, da die Position des untergeordneten Elements im übergeordneten Element geändert werden muss. Daher verfügt die FixedPage.Left angefügte Eigenschaft über Metadaten, wo AffectsParentArrange ist true
. Ein weiteres Beispiel ist Padding; wenn sich diese Eigenschaft ändert, kann das übergeordnete Element die Position des untergeordneten Elements je nach verfügbaren Speicherplatz ändern.
Da diese WPF-Framework-Ebene-Implementierung bereits vorhanden ist, müssen Sie in der Regel nicht nach Abhängigkeitseigenschaften AffectsParentArrange suchen, sofern Sie das Layoutverhalten der WPF-Frameworkebene erheblich ersetzen oder ändern.
Benutzerdefinierte OnPropertyChanged Implementierungen können ein ähnliches Verhalten für Abhängigkeitseigenschaftsänderungen haben, wo AffectsParentArrange es sich true
befindet.
Eigenschaften für abgeleitete Klassen PropertyMetadata werden in der Regel im Objektmodell als Lesezugriff 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 OverrideMetadata, das Eigenschaftssystem verwendet wird, wird die Metadateninstanz und -eigenschaften, die die Spezifischen der Metadaten vermitteln, jetzt als unveränderlich angesehen. Der Versuch, diese Eigenschaft IsSealed true
nach dieser Metadateninstanz festzulegen, löst eine Ausnahme aus.
XAML-Textverwendung
Elemente dieser Klasse werden in XAML nicht in der Regel verwendet.