Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Method

Definition

Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden.Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

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

Das zu klonende Objekt.The object to clone.

Hinweise

Diese Methode wird von der Clone -Methode aufgerufen und sollte nicht direkt aus dem Code aufgerufen werden, außer wenn beim Überschreiben dieser Methode die Basis Implementierung aufgerufen wird.This method is called by the Clone method and should not be called directly from your code, except when calling the base implementation while overriding this method. Um eine änderbare Kopie des aktuellen-Objekts zu erstellen, Clone rufen Sie auf, anstatt diese Methode direkt aufzurufen.To create a modifiable copy of the current object, call Clone instead of calling this method directly.

Hinweise für Vererber

Wenn Sie von Freezableableiten, müssen Sie diese Methode möglicherweise außer Kraft setzen.If you derive from Freezable, you may need to override this method. Folgende Gründe können außer Kraft gesetzt werden:Reasons to override include the following: -Ihre abgeleitete Klasse verfügt über Daten, die nicht über Abhängigkeits Eigenschaften verfügbar gemacht werden.- Your derived class has data that is not exposed via dependency properties.

-Die abgeleitete Klasse muss zusätzliche Initialisierungs Aufgaben ausführen, die nicht durch einfaches CreateInstanceCore()überschreiben durchgeführt werden können.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Dies gilt z. b., wenn die abgeleitete Klasse implementiert ISupportInitialize.For example, this applies if your derived class implements ISupportInitialize.

Klassen, in denen alle Ihre Daten in Abhängigkeits Eigenschaften gespeichert werden und die keine zusätzlichen Initialisierungs Aufgaben ausführen müssen, müssen nicht CloneCore(Freezable)überschrieben werden.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCore(Freezable).

Es ist von grundlegender Bedeutung, dass alle-Implementierungen die Basis Implementierung dieser Methode aufzurufen.It is essential that all implementations call the base implementation of this method. Implementierungen sollten nur Aufgaben ausführen, die nicht von der Standard Implementierung ausgeführt werden.Implementations should only perform work that is not performed by the default implementation. Die Standard Implementierung macht Tiefe Kopien aller beschreibbaren, lokal festgelegten Eigenschaften, einschließlich interner Ausdrücke.The default implementation makes deep copies of all writable, locally set properties, including internal expressions.

Wenn das-Objekt über Daten gebundene Abhängigkeits Eigenschaften verfügt, werden die Ausdrücke kopiert, aber möglicherweise nicht mehr aufgelöst.If the object has data-bound dependency properties, the expressions are copied but might no longer resolve. Weitere Informationen zum Klonen von Daten gebundenen Objekten finden Sie unter Übersichtüber frei wählbare Objekte.For more information about cloning data-bound objects, see Freezable Objects Overview. Wenn das Objekt über animierte Abhängigkeits Eigenschaften verfügt, wird der Basis Wert (nicht animiert) dieser Eigenschaften kopiert.If the object has animated dependency properties, the base (non-animated) value of those properties is copied. Animationen werden nicht kopiert.Animations are not copied.

Beachten Sie, dass nicht festgelegte Eigenschaften weder kopiert noch schreibgeschützte Eigenschaften sind.Note that unset properties are not copied, nor are read-only properties. Wenn für eine solche Eigenschaft ein Standardwert festgelegt ist, Freezableder eingefroren ist, bleibt der Eigenschafts Wert im anderweitig änderbaren Klon fixiert.If such a property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

In der folgenden Liste wird das erwartete Verhalten für diese Methode zusammengefasst:The following list summarizes the expected behavior for this method: -Die erstellte Kopie enthält Kopien aller Freezable untergeordneten Objekte.- The copy produced contains copies of all Freezable sub-objects.

-Nicht festgelegte und schreibgeschützte Eigenschaften werden nicht kopiert.- Unset and read-only properties are not copied.

-Ausdrücke werden kopiert.- Expressions are copied.

-Keines dieser unter Objekte wird bei der Erstellung eingefroren.- None of these sub-objects are frozen on creation.

-Die Kopie selbst ist nicht fixiert.- The copy itself is not frozen.

-Animationen werden nicht kopiert.- Animations are not copied.

-Nur Eigenschafts Basiswerte werden kopiert, keine aktuellen animierten Werte.- Only property base values are copied, not current animated values.

Gilt für:

Siehe auch