FrameworkPropertyMetadata.AffectsParentMeasure 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 mértéket az elrendezésmotor műveletei során.

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

Tulajdonság értéke

trueha a metaadatok alapjául szolgáló függőségi tulajdonság hatással lehet a mértéknek a szülőelemre történő átadására; 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ő AffectsParentMeasuretrue 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. Mivel ez a WPF keretrendszerszintű implementáció már létezik, általában nem kell függőségi tulajdonságokat keresnie AffectsParentMeasure, kivéve, ha jelentősen lecseréli vagy módosítja a WPF keretrendszerszintű elrendezés viselkedését.

Általában nem kell egy tulajdonság módosításait FrameworkElement szülőelemre AffectsParentMeasure jelentenie, mivel maga az elem már rendelkezik saját AffectsMeasure elemként true. Ez általában elegendő, mivel a gyermekelem változásai általában a szülőmérték sikeres átadását kezdeményezik, ha szükséges. AffectsParentMeasure 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 Paragraph.KeepWithNext tulajdonság értékét, az érvényteleníti a szülő mértékét, mert a bekezdések relatív térköze megváltozhat, és növelheti vagy csökkentheti a tartalom gazdagépének méretét. Ezért a Paragraph.KeepWithNext tulajdonság metaadatokkal rendelkezik, ahol AffectsParentMeasure van true.

A tartalomgazdaelemek gyakran keresik a függőségi tulajdonságok olyan változásait is, amelyek AffectsParentMeasure a tartalomgazda renderelési logikájának részeként találhatók true. Az elemnek például reagálnia kell bizonyos olyan változásokra a szövegben, TextBox amelyekhez szükség lehet a határolókeret TextBox módosítására.

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 AffectsParentMeasure 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