Freigeben über


Freezable.Clone Methode

Definition

Erstellt einen änderbaren Klon des Freezable-Objekts, indem tiefe Kopien der Werte des Objekts erstellt werden. Beim Kopieren der Abhängigkeitseigenschaften des Objekts kopiert diese Methode Ausdrücke (die möglicherweise nicht mehr aufgelöst werden können), jedoch keine Animationen oder ihre aktuellen Werte.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

Gibt zurück

Freezable

Ein änderbarer Klon des aktuellen Objekts. Die IsFrozen-Eigenschaft des geklonten Objekts ist false, auch wenn die IsFrozen-Eigenschaft der Quelle true war.

Hinweise

Die Clone Methoden CloneCurrentValue erzeugen modifizierbare Klonen von Freezable gefrorenen Objekten (die Methoden klonen Freezable auch Objekte, die nicht eingefroren sind). Der Klon ist effektiv eine tiefe Kopie des aktuellen Objekts.

In der folgenden Tabelle werden die Unterschiede zwischen den Clone Methoden zusammengefasst CloneCurrentValue .

Aktion Klonmethodenverhalten CloneCurrentValue-Methode verhalten
Kopieren einer Abhängigkeitseigenschaft mit einem Ausdruck Der Ausdruck wird kopiert, aber möglicherweise nicht mehr aufgelöst. Weitere Informationen finden Sie unter der Übersicht über Freezable-Objekte. Der aktuelle Wert des Ausdrucks wird kopiert, aber nicht der Ausdruck selbst.
Kopieren einer animierten Abhängigkeitseigenschaft Der Basiswert der Eigenschaft (nicht animiert) wird kopiert. Animationen werden nicht kopiert. Der aktuelle animierte Wert der Eigenschaft wird kopiert. Animationen werden nicht kopiert.

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

Verschieben eines Freihandwerts zwischen Threads

Diese Methode kann nützlich sein, um einen Freezable Zwischenthread zu verschieben. Machen Sie zuerst die Freezable unmodifizierbare Methode, indem Sie die Freeze Methode aufrufen. Nun kann ein anderer Thread auf den Zugriff zugreifen und einen lokalen Clone Zugriff vornehmen, auf den Freezable er zugreifen kann.

Hinweise für Vererber

Diese Methode verwendet CloneCore(Freezable) , um den Klon zu erzeugen. Um das Verhalten dieser Methode in einer abgeleiteten Klasse zu ändern, überschreiben Sie die CloneCore(Freezable) Methode.

Gilt für

Siehe auch