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