Freezable.Clone Methode

Definition

Erstellt einen modifizierbaren Klon des FreezableObjekts, wobei 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

Ein modifizierbarer Klon des aktuellen Objekts. Die Eigenschaft des IsFrozen geklonten Objekts ist false auch dann, wenn die Eigenschaft der IsFrozen Quelle lautet true.

Hinweise

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

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

Action Verhalten der Klonmethode CloneCurrentValue-Methodenverhalten
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 nicht kopiert werden. Wenn eine nicht festgelegte Eigenschaft einen Standardwert aufweist, der eingefroren ist, bleibt dieser Eigenschaftswert im andernfalls geänderten Klon eingefroren Freezable.

Verschieben eines Freistellens zwischen Threads

Diese Methode kann nützlich sein, um eine Freezable Zwischenthreads zu verschieben. Machen Sie zunächst die Freezable unveränderliche Methode, indem Sie die Freeze Methode aufrufen. Jetzt kann ein anderer Thread auf den Freezable lokalen Thread zugreifen, Clone auf den 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:

Weitere Informationen