Freezable.GetAsFrozen Methode

Definition

Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

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. Die IsFrozen-Eigenschaft der Kopie ist auf true festgelegt.

Ausnahmen

Freezable kann nicht fixiert werden, da er Ausdrücke oder animierte Eigenschaften enthält.

Hinweise

Sie sollten die CanFreeze -Eigenschaft überprüfen, bevor Sie diese Methode aufrufen, um sicherzustellen, dass die Freezable eingefroren werden kann. Die Verwendung dieser Methode ähnelt dem Erstellen einer Kopie mit dem Clone und dem anschließenden Einfrieren mit der Freeze -Methode.

Die GetAsFrozen Methoden und GetCurrentValueAsFrozen können die Kopierleistung verbessern, da sie nicht bereits fixierte Unterobjekte klonen Freezable , sie nur nach Verweis kopieren.

In der folgenden Tabelle sind die Unterschiede zwischen den GetAsFrozen Methoden und GetCurrentValueAsFrozen zusammengefasst.

Aktion Verhalten der GetAsFrozen-Methode Verhalten der GetCurrentValueAsFrozen-Methode
Kopieren einer Abhängigkeitseigenschaft mit einem Ausdruck Die -Methode löst eine aus InvalidOperationException , da die -Eigenschaft nicht Freeze vorhanden ist. Der aktuelle Wert des Ausdrucks wird kopiert, aber nicht der Ausdruck selbst.
Kopieren einer animierten Abhängigkeitseigenschaft Der (nicht animierte) Basiswert der Eigenschaft wird kopiert. Animationen werden nicht kopiert. Der aktuelle animierte Wert der Eigenschaft wird kopiert. Animationen werden nicht kopiert.

Beachten Sie, dass nicht festgelegte Eigenschaften weder kopiert werden noch schreibgeschützte Eigenschaften sind.

Verwenden Sie die -Methode, um eine Kopie des zu erstellen, die FreezableClone nicht fixiert ist.

Hinweise für Vererber

Diese Methode verwendet die virtuelle GetAsFrozenCore(Freezable) Methode, um den Klon zu erzeugen.

Gilt für:

Weitere Informationen