Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Method

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

Der Freezable, der geklont werden soll.The Freezable to be cloned.

Hinweise

Diese Methode wird aufgerufen, indem die CloneCurrentValue Methode und sollte nicht aufgerufen werden direkt aus Ihrem Code, außer wenn beim Überschreiben dieser Methode die basisimplementierung aufrufen.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. Rufen Sie zum Erstellen einer änderbaren Kopie des aktuellen Objekts CloneCurrentValue müssen diese Methode nicht direkt aufrufen.To create a modifiable copy of the current object, call CloneCurrentValue instead of calling this method directly.

Hinweise für Vererber

Bei der Ableitung von Freezable, müssen Sie möglicherweise diese Methode überschreiben.If you derive from Freezable, you may need to override this method. Die folgenden: Gründe für die außer Kraft setzenReasons to override include the following: -Die abgeleitete Klasse verfügt über Daten, die nicht über Abhängigkeitseigenschaften verfügbar gemacht werden.- Your derived class has data that is not exposed via dependency properties.

-Die abgeleitete Klasse muss eine zusätzliche Initialisierung-Aufgaben, die nicht erreicht werden kann, indem Sie einfach überschreiben ausführen CreateInstanceCore().- 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, die alle Daten in Abhängigkeitseigenschaften speichern und keine zusätzlichen Initialisierungsaufgaben ausführen, müssen nicht außer Kraft setzen CloneCurrentValueCore(Freezable).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 wichtig, dass alle Implementierungen dieser Methode die basisimplementierung aufrufen.It is essential that all implementations call the base implementation of this method. Implementierungen sollten nur Aufgaben ausführen, die von der Standardimplementierung nicht ausgeführt wird.Implementations should only perform work that is not performed by the default implementation. Die Standardimplementierung erstellt tiefe Kopien alle beschreibbaren, lokal festgelegte Eigenschaften.The default implementation makes deep copies of all writable, locally set properties. Wenn das Objekt Abhängigkeitseigenschaften mit Ausdrücken (z. B. eine Datenbindung) enthält, wird der aktuelle Wert des Ausdrucks aber nicht den Ausdruck selbst kopiert.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ängigkeitseigenschaften verfügt, wird der aktuelle animierte Wert dieser Eigenschaften wird 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 nicht kopiert werden oder sind schreibgeschützte Eigenschaften.Note that unset properties are not copied, nor are read-only properties. Wenn diese Eigenschaft einen Standardwert verfügt, die ein fixiertes Freezable, bleibt dieser Eigenschaftswert in den 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.

Die folgende Liste enthält das erwartete Verhalten für diese Methode.The following list summarizes the expected behavior for this method.

– Die erstellt Kopie enthält Kopien aller Freezable untergeordnete Objekte.- The copy produced contains copies of all Freezable sub-objects.

-Die Festlegung und Read-only-Eigenschaften werden nicht kopiert.- Unset and read-only properties are not copied.

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

– None dieser untergeordnete Objekte werden bei der Erstellung fixiert.- 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