Freezable.GetAsFrozen Methode

Definition

Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert).Creates a frozen copy of the Freezable, using base (non-animated) property values. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.Because the copy is frozen, any frozen sub-objects are copied by reference.

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

Gibt zurück

Eine fixierte Kopie von Freezable.A frozen copy of the Freezable. Die IsFrozen-Eigenschaft der Kopie ist auf true festgelegt.The copy's IsFrozen property is set to true.

Ausnahmen

Freezable kann nicht fixiert werden, da er Ausdrücke oder animierte Eigenschaften enthält.The Freezable cannot be frozen because it contains expressions or animated properties.

Hinweise

Überprüfen Sie die CanFreeze-Eigenschaft, bevor Sie diese Methode aufrufen, um zu überprüfen, ob die Freezable eingefroren werden kann.You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. Die Verwendung dieser Methode ähnelt dem Erstellen einer Kopie mithilfe des Clone und dem anschließenden Einfrieren der Methode mit der Freeze-Methode.Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

Die Methoden GetAsFrozen und GetCurrentValueAsFrozen können die Kopier Leistung verbessern, da Sie nicht Freezable unter Objekte klonen, die bereits eingefroren sind. Sie werden nur nach Verweis kopiert.The GetAsFrozen and GetCurrentValueAsFrozen methods can improve copying performance because they do not clone Freezable sub-objects that are already frozen; they only copy them by reference.

In der folgenden Tabelle werden die Unterschiede zwischen den Methoden GetAsFrozen und GetCurrentValueAsFrozen zusammengefasst.The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

AktionAction Verhalten der GetAsFrozen-MethodeGetAsFrozen method behavior GetCurrentValueAsFrozen-Methoden VerhaltenGetCurrentValueAsFrozen method behavior
Kopieren einer Abhängigkeits Eigenschaft, die über einen Ausdruck verfügtCopying a dependency property that has an expression Die-Methode löst eine InvalidOperationException aus, da Sie die-Eigenschaft nicht Freeze kann.The method throws an InvalidOperationException because it cannot Freeze the property. Der aktuelle Wert des Ausdrucks wird kopiert, aber nicht der Ausdruck selbst.The current value of the expression is copied, but not the expression itself.
Kopieren einer animierten Abhängigkeits EigenschaftCopying an animated dependency property Der Basis Wert (nicht animierter Wert) der Eigenschaft wird kopiert.The property's base (non-animated) value is copied. Animationen werden nicht kopiert.Animations are not copied. Der aktuelle animierte Wert der Eigenschaft wird kopiert.The property's current animated value is copied. Animationen werden nicht kopiert.Animations are not copied.

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.

Verwenden Sie die Clone-Methode, um eine Kopie der Freezable zu erstellen, die nicht eingefroren ist.To create a copy of the Freezable that is not frozen, use the Clone method.

Hinweise für Vererber

Diese Methode verwendet die virtuelle GetAsFrozenCore(Freezable)-Methode, um den Klon zu entwickeln.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

Gilt für:

Siehe auch