Freezable.CloneCurrentValueCore(Freezable) Metódus

Definíció

A példányt módosítható klónként (mély másolatként) adja meg a megadott Freezable értékekkel.

protected:
 virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)

Paraméterek

sourceFreezable
Freezable

A Freezable klónozni kívánt.

Megjegyzések

Ezt a metódust a CloneCurrentValue metódus hívja meg, és nem hívhatja meg közvetlenül a kódból, kivéve, ha az alap implementációt hívja meg a metódus felülírása során. Az aktuális objektum módosítható másolatának létrehozásához hívja meg CloneCurrentValue a metódus közvetlen meghívása helyett.

Megjegyzések az öröklőkhöz

Ha származik, Freezableelőfordulhat, hogy felül kell bírálnia ezt a módszert. A felülbírálás okai közé tartoznak a következők:

  • A származtatott osztály olyan adatokkal rendelkezik, amelyek nem a függőségi tulajdonságokon keresztül vannak közzétéve.

  • A származtatott osztálynak további inicializálási munkát kell végeznie, amelyeket nem lehet egyszerűen felülírni CreateInstanceCore(). Ez például akkor érvényes, ha a származtatott osztály implementál ISupportInitialize.

Azokat az osztályokat, amelyek az összes adatot függőségi tulajdonságokban tárolják, és amelyeknek nem kell további inicializálási munkát végezniük, nem kell felülbírálniuk CloneCurrentValueCore(Freezable).

Alapvető fontosságú, hogy minden implementáció ennek a módszernek az alap implementációját hívja meg. A implementációknak csak olyan munkát kell elvégeznie, amelyet az alapértelmezett implementáció nem hajt végre. Az alapértelmezett implementáció részletes másolatokat készít az összes írható, helyileg beállított tulajdonságról. Ha az objektum kifejezésekkel (például adatkötéssel) rendelkező függőségi tulajdonságokat tartalmaz, a program a kifejezés aktuális értékét másolja ki, magát a kifejezést azonban nem.

Ha az objektum animált függőségi tulajdonságokkal rendelkezik, a program átmásolja ezeknek a tulajdonságoknak az aktuális animált értékét, de az animációk nem.

Vegye figyelembe, hogy a rendszer nem másolja a nem halmaztulajdonságokat, és nem írásvédett tulajdonságokat. Ha egy ilyen tulajdonság alapértelmezett értéke zárolva Freezablevan, akkor a tulajdonság értéke az egyébként módosítható klónban marad fagyasztva.

Az alábbi lista összefoglalja a metódus várt viselkedését.

  • A létrehozott másolat az összes Freezable alobjektum másolatát tartalmazza.

  • A rendszer nem másolja a nem halmazolt és írásvédett tulajdonságokat.

  • Ha egy tulajdonság animálva van, az aktuális értéke ki lesz másolva, de maga az animáció nem.

  • Ezen alobjektumok egyike sem fagyott meg a létrehozáskor.

  • Maga a másolat nem fagyasztva.

A következőre érvényes:

Lásd még