FrameworkPropertyMetadata.AffectsParentArrange Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een afhankelijkheidseigenschap mogelijk van invloed is op de rangschikken van de indeling van het bovenliggende element tijdens bewerkingen van de indelingsengine.

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

Waarde van eigenschap

true als de afhankelijkheidseigenschap waarop deze metagegevens bestaan, mogelijk van invloed is op de rangschikken die specifiek op het bovenliggende element is doorgegeven; anders, false. De standaardwaarde is false.

Uitzonderingen

De metagegevens zijn al toegepast op een afhankelijkheidseigenschapsbewerking, zodat metagegevens worden verzegeld en eigenschappen van de metagegevens niet kunnen worden ingesteld.

Opmerkingen

FrameworkElement en FrameworkContentElement voeg een implementatie toe van OnPropertyChanged die effectieve waardewijzigingen controleert op alle afhankelijkheidseigenschappen die op een element aanwezig zijn. Als onderdeel van deze logica starten afhankelijkheidseigenschappen die de effectieve waarde wijzigen en metagegevens hebben ingesteld AffectsParentArrangetrue een uitgestelde aanvraag om de visuals voor het bovenliggende element ongeldig te maken.

Over het algemeen hoeft u geen wijzigingen van een FrameworkElement eigenschap aan een bovenliggend element AffectsParentArrange te rapporteren, omdat het element zelf al een eigen AffectsArrange element zou hebben als true. Dat is meestal voldoende, omdat wijzigingen in het onderliggende element in het algemeen een bovenliggende rangschikken initiëren indien van toepassing. AffectsParentArrange wordt soms gebruikt voor een FrameworkContentElement afgeleide klasse. In dit geval stelt het onderliggende element een eigenschap in, maar een FrameworkContentElement afgeleide klasse heeft geen eigen rendering. De rendering wordt verwerkt door een FrameworkElement bovenliggend element dat fungeert als de inhoudshost. Een wijziging in de waarde van de FixedPage.Left gekoppelde eigenschap door een onderliggend element veroorzaakt bijvoorbeeld een ongeldige rangschikken van het bovenliggende element, omdat de positie van het onderliggende element in het bovenliggende element moet worden gewijzigd. Daarom bevat de FixedPage.Left gekoppelde eigenschap metagegevens waar AffectsParentArrange zich bevindt true. Een ander voorbeeld is Padding; wanneer deze eigenschap wordt gewijzigd, kan het bovenliggende element de positie van het kind wijzigen, afhankelijk van de beschikbare ruimte.

Omdat deze WPF implementatie op frameworkniveau al is geïmplementeerd, hoeft u doorgaans niet te zoeken naar afhankelijkheidseigenschappen met AffectsParentArrange, tenzij u het indelingsgedrag op WPF frameworkniveau aanzienlijk vervangt of wijzigt.

Aangepaste OnPropertyChanged implementaties kunnen ervoor kiezen om vergelijkbaar gedrag te hebben voor afhankelijkheidseigenschapswijzigingen.AffectsParentArrangetrue

Eigenschappen voor eventuele afgeleide klassen worden PropertyMetadata doorgaans gedefinieerd in het objectmodel als lezen/schrijven. Dit is zodat ze na de initialisatie van het exemplaar kunnen worden aangepast. Nadat de metagegevens echter worden gebruikt als onderdeel van een aanroep naar Register, AddOwnerof OverrideMetadata, zal het eigenschappensysteem dat metagegevensexemplaren en eigenschappen die de specifieke kenmerken van de metagegevens overbrengen, nu als onveranderbaar beschouwd worden. Als u deze eigenschap probeert in te stellen nadat IsSealedtrue deze zich op dit metagegevensexemplaren bevindt, wordt er een uitzondering gegenereerd.

XAML-tekstgebruik

Leden van deze klasse worden doorgaans niet gebruikt in XAML.

Van toepassing op

Zie ook