Freigeben über


Freezable.CloneCore(Freezable) Methode

Definition

Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden.

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

Parameter

sourceFreezable
Freezable

Das zu klonende Objekt.

Hinweise

Diese Methode wird von der Methode aufgerufen und sollte nicht direkt von Ihrem Code aufgerufen werden, außer beim Aufrufen der Clone Basisimplementierung, während diese Methode außer Kraft gesetzt wird. Um eine modifizierbare Kopie des aktuellen Objekts zu erstellen, rufen Sie Clone diese Methode anstelle des direkten Aufrufens dieser Methode auf.

Hinweise für Vererber

Wenn Sie von Freezabledieser Methode abgeleitet werden, müssen Sie diese Methode möglicherweise außer Kraft setzen. Gründe für die Außerkraftsetzung sind die folgenden:

  • Ihre abgeleitete Klasse verfügt über Daten, die nicht über Abhängigkeitseigenschaften verfügbar gemacht werden.

  • Ihre abgeleitete Klasse muss zusätzliche Initialisierungsarbeit ausführen, die nicht durch einfaches Außerkraftsetzen CreateInstanceCore()erreicht werden kann. Dies gilt beispielsweise, wenn Ihre abgeleitete Klasse implementiert ISupportInitializewird.

Klassen, die alle ihre Daten in Abhängigkeitseigenschaften speichern und keine zusätzliche Initialisierung ausführen müssen, müssen nicht außer CloneCore(Freezable)Kraft setzen.

Es ist wichtig, dass alle Implementierungen die Basisimplementierung dieser Methode aufrufen. Implementierungen sollten nur Arbeit ausführen, die nicht von der Standardimplementierung ausgeführt wird. Die Standardimplementierung erstellt tiefe Kopien aller schreibbaren, lokal festgelegten Eigenschaften, einschließlich interner Ausdrücke.

Wenn das Objekt über datengebundene Abhängigkeitseigenschaften verfügt, werden die Ausdrücke kopiert, aber möglicherweise nicht mehr aufgelöst. Weitere Informationen zum Klonen von datengebundenen Objekten finden Sie unter "Übersicht über Freezable-Objekte". Wenn das Objekt animierte Abhängigkeitseigenschaften aufweist, wird der Basiswert (nicht animierter) dieser Eigenschaften kopiert. Animationen werden nicht kopiert.

Beachten Sie, dass nicht festgelegte Eigenschaften nicht kopiert werden, noch schreibgeschützte Eigenschaften. Wenn eine solche Eigenschaft einen Standardwert aufweist, der eingefroren Freezableist, bleibt dieser Eigenschaftswert im andernfalls geänderten Klon eingefroren.

In der folgenden Liste wird das erwartete Verhalten für diese Methode zusammengefasst:

  • Die erstellte Kopie enthält Kopien aller Freezable Unterobjekte.

  • Nicht festgelegte und schreibgeschützte Eigenschaften werden nicht kopiert.

  • Ausdrücke werden kopiert.

  • Keine dieser Unterobjekte werden auf der Erstellung eingefroren.

  • Die Kopie selbst ist nicht eingefroren.

  • Animationen werden nicht kopiert.

  • Nur Eigenschaftenbasiswerte werden kopiert, nicht aktuelle animierte Werte.

Gilt für

Siehe auch