Freigeben über


Freezable.CloneCurrentValueCore(Freezable) Methode

Definition

Macht die Instanz mithilfe aktueller Eigenschaftswerte zu einem Klon (tiefe Kopie) des angegebenen Freezable-Elements, der geändert werden kann.

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)

Parameter

sourceFreezable
Freezable

Der Freezable, der geklont werden soll.

Hinweise

Diese Methode wird von der CloneCurrentValue -Methode aufgerufen und sollte nicht direkt aus Ihrem Code aufgerufen werden, außer beim Aufrufen der Basisimplementierung beim Überschreiben dieser Methode. Um eine änderbare Kopie des aktuellen Objekts zu erstellen, rufen Sie CloneCurrentValue diese Methode auf, anstatt diese Methode direkt aufzurufen.

Hinweise für Vererber

Wenn Sie von Freezableableiten, müssen Sie diese Methode möglicherweise überschreiben. Gründe für die Außerkraftsetzung sind u. a. folgende Gründe:

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

  • Ihre abgeleitete Klasse muss zusätzliche Initialisierungsarbeiten ausführen, die nicht durch einfaches CreateInstanceCore()Überschreiben erreicht werden können. Dies gilt beispielsweise, wenn Ihre abgeleitete ISupportInitializeKlasse implementiert.

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

Es ist wichtig, dass alle Implementierungen die Basisimplementierung dieser Methode aufrufen. Implementierungen sollten nur Arbeiten ausführen, die von der Standardimplementierung nicht ausgeführt werden. Die Standardimplementierung erstellt ausführliche Kopien aller beschreibbaren, lokal festgelegten Eigenschaften. Wenn das Objekt Abhängigkeitseigenschaften mit Ausdrücken enthält (z. B. eine Datenbindung), wird der aktuelle Wert des Ausdrucks kopiert, aber nicht der Ausdruck selbst.

Wenn das Objekt über animierte Abhängigkeitseigenschaften verfügt, wird der aktuelle animierte Wert dieser Eigenschaften kopiert, die Animationen jedoch nicht.

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

Die folgende Liste fasst das erwartete Verhalten für diese Methode zusammen.

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

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

  • Wenn eine Eigenschaft animiert ist, wird ihr aktueller Wert kopiert, die Animation selbst jedoch nicht.

  • Keines dieser Unterobjekte wird bei der Erstellung eingefroren.

  • Die Kopie selbst wird nicht eingefroren.

Gilt für:

Weitere Informationen