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.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

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.The Freezable to be cloned.

Hinweise

Diese Methode wird von der CloneCurrentValue-Methode aufgerufen und sollte nicht direkt aus dem Code aufgerufen werden, außer wenn die Basis Implementierung aufgerufen wird, während diese Methode überschrieben wird.This method is called by the CloneCurrentValue 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, rufen Sie CloneCurrentValue auf, anstatt diese Methode direkt aufzurufen.To create a modifiable copy of the current object, call CloneCurrentValue 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 Überschreiben von CreateInstanceCore()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 ISupportInitializeimplementiert.For example, this applies if your derived class implements ISupportInitialize.

Klassen, die all Ihre Daten in Abhängigkeits Eigenschaften speichern und keine zusätzlichen Initialisierungs Aufgaben ausführen müssen, müssen CloneCurrentValueCore(Freezable)nicht überschreiben.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCurrentValueCore(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.The default implementation makes deep copies of all writable, locally set properties. Wenn das-Objekt Abhängigkeits Eigenschaften mit Ausdrücken (z. b. eine Datenbindung) enthält, wird der aktuelle Wert des Ausdrucks kopiert, aber nicht der Ausdruck selbst.If the object contains dependency properties with expressions (such as a data binding), the current value of the expression is copied but not the expression itself.

Wenn das Objekt über animierte Abhängigkeits Eigenschaften verfügt, wird der aktuelle animierte Wert dieser Eigenschaften kopiert, aber die Animationen sind nicht.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

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 eine solche Eigenschaft über einen Standardwert verfügt, bei dem es sich um eine fixierte Freezablehandelt, bleibt der Eigenschafts Wert im ansonsten ä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 unter 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.

-Wenn eine Eigenschaft animiert wird, wird der aktuelle Wert kopiert, aber die Animation selbst ist nicht.- If a property is animated, its current value is copied, but the animation itself is not.

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

Gilt für:

Siehe auch