FrameworkPropertyMetadata.AffectsParentMeasure Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om en beroendeegenskap potentiellt påverkar måttpasset för det överordnade elementets layout under layoutmotoråtgärder.
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
Egenskapsvärde
trueOm beroendeegenskapen som dessa metadata finns på potentiellt påverkar måttet vidarebefordras specifikt till dess överordnade element. annars . false Standardvärdet är false.
Undantag
Metadata har redan tillämpats på en beroendeegenskapsåtgärd, så att metadata är förseglade och att egenskaperna för metadata inte kan anges.
Kommentarer
FrameworkElement och FrameworkContentElement inkludera en implementering av OnPropertyChanged som övervakar effektiva värdeändringar för alla beroendeegenskaper som finns i ett element. Som en del av den logiken initierar beroendeegenskaper som ändrar effektivt värde och har metadata med AffectsParentMeasure inställt på true en uppskjuten begäran om att ogiltigförklara de visuella objekten för det överordnade elementet. Eftersom den här WPF implementeringen på ramverksnivå redan är på plats behöver du vanligtvis inte leta efter beroendeegenskaper med AffectsParentMeasure om du inte väsentligen ersätter eller ändrar WPF layoutbeteende på ramverksnivå.
I allmänhet behöver du inte rapportera ändringar av en FrameworkElement egenskap till ett överordnat element med eftersom AffectsParentMeasure själva elementet redan har sitt eget AffectsMeasure som true. Det räcker vanligtvis eftersom ändringar i det underordnade elementet vanligtvis initierar ett överordnat måttpass när det är lämpligt.
AffectsParentMeasure används ibland för en FrameworkContentElement härledd klass. I det här fallet anger det underordnade elementet en egenskap, men en FrameworkContentElement härledd klass styr inte sin egen återgivning. Renderingen hanteras av ett FrameworkElement överordnat element som fungerar som innehållsvärd. En ändring av egenskapens värde av ett underordnat Paragraph.KeepWithNext element gör till exempel måttet överordnat ogiltigt, eftersom det relativa avståndet mellan stycken kan ändras och kan öka eller minska innehållets värdstorlek. Därför har egenskapen Paragraph.KeepWithNext metadata där AffectsParentMeasure är true.
Innehållsvärdelement söker också ofta efter ändringar i beroendeegenskaper där AffectsParentMeasure är true, som en del av logiken för innehållsvärdåtergivning. Elementet TextBox måste till exempel svara på vissa ändringar i text som kan kräva att själva avgränsningsrutan TextBox ändras.
Anpassade OnPropertyChanged implementeringar kan välja att ha liknande beteende för beroendeegenskapsändringar där AffectsParentMeasure är true.
Egenskaper för alla härledda klasser PropertyMetadata av definieras vanligtvis i objektmodellen som skrivskyddad. Detta gör att de kan justeras efter initieringen av instansen. Men när metadata har förbrukats som en del av ett anrop till Register, AddOwnereller OverrideMetadata, kommer egenskapssystemet att försegla att metadatainstansen och egenskaper som förmedlar detaljerna i metadata nu anses oföränderliga. Om du försöker ange den här egenskapen när IsSealed den finns true på den här metadatainstansen genereras ett undantag.
XAML-textanvändning
Medlemmar i den här klassen används vanligtvis inte i XAML.