FrameworkPropertyMetadata.AffectsParentMeasure Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu, která určuje, zda vlastnost závislosti potenciálně ovlivňuje míru průchodu rozložení nadřazeného prvku během operací modulu rozložení.
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
Hodnota vlastnosti
truepokud vlastnost závislosti, na které tato metadata existuje, může ovlivnit předání míry konkrétně pro jeho nadřazený prvek; v opačném případě . false Výchozí hodnota je false.
Výjimky
Metadata již byla použita na operaci vlastnosti závislosti, takže metadata jsou zapečetěná a vlastnosti metadat nelze nastavit.
Poznámky
FrameworkElement a FrameworkContentElement zahrnout implementaci OnPropertyChanged , která monitoruje efektivní změny hodnot ve všech vlastnostech závislostí, které existují v elementu. V rámci této logiky vlastnosti závislostí, které mění efektivní hodnotu a mají metadata s AffectsParentMeasure nastavenou true nastavenou hodnotou, zahájí odložený požadavek na zneplatnění vizuálů pro nadřazený prvek. Vzhledem k tomu, že implementace na úrovni architektury WPF je již zavedená, obvykle nemusíte hledat vlastnosti AffectsParentMeasure závislostí, pokud podstatně nenahrazujete nebo upravujete chování rozložení na úrovni architektury WPF.
Obecně není nutné hlásit změny FrameworkElement vlastnosti nadřazeného prvku pomocí, AffectsParentMeasure protože samotný prvek by již měl vlastní AffectsMeasure jako true. To obvykle stačí, protože změny v podřízeného prvku obvykle iniciují předání nadřazené míry, pokud je to vhodné.
AffectsParentMeasure někdy se používá pro odvozenou FrameworkContentElement třídu. V tomto případě podřízený prvek nastaví vlastnost, ale odvozená FrameworkContentElement třída neřídí vlastní vykreslování. Vykreslování zpracovává FrameworkElement nadřazený prvek, který slouží jako hostitel obsahu. Například změna hodnoty Paragraph.KeepWithNext vlastnosti podřízeným prvkem zneplatní míru nadřazeného objektu, protože relativní mezery odstavců se můžou změnit a můžou zvětšit nebo zmenšit velikost hostitele obsahu. Proto vlastnost Paragraph.KeepWithNext obsahuje metadata, kde AffectsParentMeasure je true.
Prvky hostitele obsahu také často hledají změny ve vlastnostech závislostí, kde AffectsParentMeasure je true, jako součást logiky vykreslování hostitele obsahu. Například TextBox prvek musí reagovat na určité změny v textu, které mohou vyžadovat změnu ohraničujícího pole TextBox samotného.
Vlastní OnPropertyChanged implementace můžou mít podobné chování pro změny vlastností závislostí, kde AffectsParentMeasure je true.
Vlastnosti pro všechny odvozené třídy PropertyMetadata jsou obvykle definovány v objektovém modelu jako čtení a zápis. To znamená, že je lze upravit po inicializaci instance. Jakmile se však metadata spotřebují jako součást volání Register, AddOwnernebo OverrideMetadata, systém vlastností zapečetí, že instance metadat a vlastnosti, které předávají specifika metadat, jsou nyní považovány za neměnné. Při pokusu o nastavení této vlastnosti po IsSealed použití true této instance metadat dojde k výjimce.
Použití textu XAML
Členy této třídy se obvykle nepoužívají v JAZYCE XAML.