FrameworkPropertyMetadata.AffectsParentArrange Tulajdonság

Definíció

Lekéri vagy beállít egy értéket, amely jelzi, hogy egy függőségi tulajdonság befolyásolhatja-e a szülőelem elrendezésének elrendezését az elrendezésmotor műveletei során.

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

Tulajdonság értéke

trueha az a függőségi tulajdonság, amelyen ez a metaadat létezik, hatással lehet az elrendezési továbbításra kifejezetten a szülőelemen; egyéb esetben. false Az alapértelmezett érték a false.

Kivételek

A metaadatokat már alkalmazták egy függőségi tulajdonság műveletére, így a metaadatok le vannak zárva, és a metaadatok tulajdonságai nem állíthatók be.

Megjegyzések

FrameworkElement és FrameworkContentElement olyan implementációt is tartalmaz, amely figyeli OnPropertyChanged az elemen található összes függőségi tulajdonság tényleges értékváltozásait. A logika részeként a tényleges értéket módosító és a metaadatokkal rendelkező AffectsParentArrangetrue függőségi tulajdonságok késleltetett kérést kezdeményeznek a szülőelem vizualizációinak érvénytelenítésére.

Általában nem kell egy tulajdonság módosításait FrameworkElement szülőelemre AffectsParentArrange jelentenie, mivel maga az elem már rendelkezik saját AffectsArrange elemként true. Ez általában elegendő, mert a gyermekelem változásai általában kezdeményezik a szülő elrendezését, ha szükséges. AffectsParentArrange néha egy származtatott osztályhoz FrameworkContentElement használják. Ebben az esetben a gyermekelem beállít egy tulajdonságot, de a FrameworkContentElement származtatott osztály nem szabályozza a saját renderelését. A renderelést egy FrameworkElement szülőelem kezeli, amely a tartalomgazdaként szolgál. Ha például egy gyermekelem módosítja a FixedPage.Left csatolt tulajdonság értékét, az érvényteleníti a szülő elrendezését, mert a gyermek szülőben elfoglalt helyét módosítani kell. Ezért a FixedPage.Left csatolt tulajdonság metaadatokkal rendelkezik, ahol AffectsParentArrange van true. Egy másik példa: Paddingha ez a tulajdonság megváltozik, a szülő a rendelkezésre álló helytől függően módosíthatja a gyermek elhelyezését.

Mivel ez a WPF keretrendszerszintű implementáció már létezik, általában nem kell függőségi tulajdonságokat keresnie AffectsParentArrange, kivéve, ha jelentősen lecseréli vagy módosítja a WPF keretrendszerszintű elrendezés viselkedését.

Az egyéni OnPropertyChanged implementációk dönthetnek úgy, hogy hasonló viselkedést alkalmaznak a függőségi tulajdonság változásaihoz, ahol AffectsParentArrange van true.

A származtatott osztályok PropertyMetadata tulajdonságai általában írás-olvasásként vannak definiálva az objektummodellben. Így a példány inicializálása után módosíthatók. Ha azonban a metaadatok a tulajdonságrendszer meghívásának RegisterAddOwnerrészeként kerülnek használatba, OverrideMetadataa rendszer zárolja, hogy a metaadatok példánya és a metaadatok jellemzőit továbbadó tulajdonságok mostantól megváltoztathatatlannak minősülnek. Ha megkísérli beállítani ezt a tulajdonságot, miután IsSealed ezen a metaadat-példányon van, true kivételt fog eredményezni.

XAML-szöveghasználat

Az osztály tagjait általában nem használják az XAML-ben.

A következőre érvényes:

Lásd még