Freezable.GetAsFrozen Metoda

Definice

Vytvoří zmrazenou kopii s Freezable použitím základních (neanimovaných) hodnot vlastností.Creates a frozen copy of the Freezable, using base (non-animated) property values. Vzhledem k tomu, že je kopie zmrazena, všechny zmrazené dílčí objekty jsou zkopírovány odkazem.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

Návraty

Freezable

Zmrazená kopie Freezable .A frozen copy of the Freezable. IsFrozenVlastnost kopie je nastavena na hodnotu true .The copy's IsFrozen property is set to true.

Výjimky

FreezableNelze zmrazit, protože obsahuje výrazy nebo animované vlastnosti.The Freezable cannot be frozen because it contains expressions or animated properties.

Poznámky

CanFreezePřed voláním této metody byste měli zkontrolovat vlastnost, abyste ověřili, že Freezable může být zmrazen.You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. Použití této metody je podobné jako vytvoření kopie pomocí Clone a poté její zmrazení Freeze metodou.Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

GetAsFrozenMetody a GetCurrentValueAsFrozen mohou zlepšit výkon kopírování, protože neklonují Freezable částečně objekty, které jsou již zmrazeny. pouze je kopírují podle odkazu.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.

Následující tabulka shrnuje rozdíly mezi GetAsFrozen GetCurrentValueAsFrozen metodami a.The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

AkceAction Chování metody GetAsFrozenGetAsFrozen method behavior Chování metody GetCurrentValueAsFrozenGetCurrentValueAsFrozen method behavior
Kopírování vlastnosti závislosti, která má výrazCopying a dependency property that has an expression Metoda vyvolá výjimku, InvalidOperationException protože nemůže být Freeze vlastností.The method throws an InvalidOperationException because it cannot Freeze the property. Aktuální hodnota výrazu je zkopírována, ale nejedná se o samotný výraz.The current value of the expression is copied, but not the expression itself.
Kopírování animovaných vlastností závislostiCopying an animated dependency property Hodnota základní (neanimovaná) vlastnosti se zkopíruje.The property's base (non-animated) value is copied. Animace nejsou zkopírovány.Animations are not copied. Je zkopírována aktuální animovaná hodnota vlastnosti.The property's current animated value is copied. Animace nejsou zkopírovány.Animations are not copied.

Všimněte si, že zrušení vlastností není kopírováno, ani vlastnosti jen pro čtení.Note that unset properties are not copied, nor are read-only properties.

Chcete-li vytvořit kopii Freezable , která není zmrazena, použijte Clone metodu.To create a copy of the Freezable that is not frozen, use the Clone method.

Poznámky pro dědice

Tato metoda používá GetAsFrozenCore(Freezable) k tvorbě klonu virtuální metodu.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

Platí pro

Viz také