Freezable.CloneCurrentValue Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt einen änderbaren Klon (tiefe Kopie) von Freezable mit den aktuellen Werten.
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
Gibt zurück
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 zunächst die Freezable unmodifizierbare Methode mithilfe ihrer Freeze Methode. Nun kann ein weiterer Thread auf den Freezable lokalen Klon zugreifen, auf den er zugreifen kann.
Hinweise für Vererber
Diese Methode verwendet die Methode zum Erstellen des Klons; Freezable Implementierunger, die CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) außer Kraft setzen, müssen sicherstellen, dass die Kopie nicht auf der Erstellung eingefroren ist.