FrameworkPropertyMetadata.AffectsParentArrange 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 předání rozložení nadřazeného prvku během operací modulu rozložení rozložení nadřazeného prvku.
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
Hodnota vlastnosti
true
pokud vlastnost závislosti, na které tato metadata existuje, může mít vliv na předávání uspořádat 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 AffectsParentArrange nastavenou true
nastavenou hodnotou, zahájí odložený požadavek na zneplatnění vizuálů pro nadřazený prvek.
Obecně platí, že nemusíte hlásit změny FrameworkElement vlastnosti na nadřazený prvek pomocí AffectsParentArrange , protože samotný prvek by již měl vlastní AffectsArrange jako true
. To obvykle stačí, protože změny podřízeného prvku obvykle iniciují nadřazené uspořádání podle potřeby. AffectsParentArrange 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 FixedPage.Left připojené vlastnosti podřízeným prvkem zneplatní uspořádání nadřazeného prvku, protože umístění podřízeného objektu v nadřazeném objektu musí být změněno. Proto má připojená FixedPage.Left vlastnost metadata, kde AffectsParentArrange je true
. Dalším příkladem je Padding; když se tato vlastnost změní, nadřazený objekt může změnit umístění podřízeného objektu v závislosti na dostupném prostoru.
Vzhledem k tomu, že tato implementace na úrovni architektury WPF je již proběhla, obvykle nemusíte hledat vlastnosti AffectsParentArrange závislostí, pokud výrazně nenahrazovat nebo upravovat chování rozložení na úrovni architektury WPF.
Vlastní OnPropertyChanged implementace se můžou rozhodnout mít podobné chování u změn vlastností závislostí, kde AffectsParentArrange 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 po IsSealed výskytu true
této instance metadat dojde k výjimce.
Použití textu XAML
Členové této třídy se obvykle nepoužívají v XAML.