FrameworkPropertyMetadata.AffectsParentArrange Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.