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á označuje, zda vlastnost závislosti potenciálně ovlivňuje průchod míry rozložení nadřazeného prvku během operací modulu rozložení 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
true
pokud vlastnost závislosti, na které tato metadata existuje, může mít vliv na předání míry speciálně pro jeho nadřazený prvek; v opačném případě . false
Výchozí formát je false
.
Výjimky
Metadata již byla použita pro operaci vlastnosti závislosti, takže metadata jsou zapečetěna a vlastnosti metadat nelze nastavit.
Poznámky
FrameworkElement a FrameworkContentElement zahrňte implementaci, která monitoruje efektivní změny hodnot ve všech vlastnostech OnPropertyChanged 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 tato implementace na úrovni architektury WPF je již proběhla, obvykle nemusíte hledat vlastnosti AffectsParentMeasure závislostí, pokud výrazně nenahrazovat nebo upravovat chování rozložení na úrovni architektury WPF.
Obecně platí, že nemusíte hlásit změny FrameworkElement vlastnosti na nadřazený prvek pomocí AffectsParentMeasure , protože samotný prvek by již měl vlastní AffectsMeasure jako true
. To obvykle stačí, protože změny podřízeného prvku obvykle iniciují nadřazenou míru, 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 zneplatňuje míru nadřazeného objektu, protože relativní mezery odstavců se můžou změnit a může zvětšit nebo zmenšit velikost hostitele obsahu. Vlastnost má proto Paragraph.KeepWithNext metadata, kde AffectsParentMeasure je true
.
Prvky hostitele obsahu také často hledají změny ve vlastnostech závislostí, kde AffectsParentMeasure je true
součástí logiky vykreslování hostitele obsahu. Například TextBox prvek musí reagovat na určité změny v textu, které můžou vyžadovat změnu ohraničujícího pole samotného TextBox .
Vlastní OnPropertyChanged implementace se můžou rozhodnout mít podobné chování u změn vlastností závislostí, kde AffectsParentMeasure je true
.
Vlastnosti u všech odvozených tříd jsou PropertyMetadata obvykle definovány v objektovém modelu jako čtení a zápis. To znamená, že je možné je 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é vyjadřují specifika metadat, jsou nyní považovány za neměnné. Při pokusu o nastavení této vlastnosti v IsSealed true
této instanci metadat dojde k výjimce.
Použití textu XAML
Členové této třídy se obvykle nepoužívají v JAZYCE XAML.