Freezable.GetAsFrozen Metoda

Definice

Vytvoří zmrazenou kopii s Freezable použitím základních (neanimovaných) hodnot vlastností. Vzhledem k tomu, že je kopie zmrazena, všechny zmrazené dílčí objekty jsou zkopírovány odkazem.

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 . IsFrozenVlastnost kopie je nastavena na hodnotu true .

Výjimky

FreezableNelze zmrazit, protože obsahuje výrazy nebo animované vlastnosti.

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. Použití této metody je podobné jako vytvoření kopie pomocí Clone a poté její zmrazení Freeze metodou.

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.

Následující tabulka shrnuje rozdíly mezi GetAsFrozen GetCurrentValueAsFrozen metodami a.

Akce Chování metody GetAsFrozen Chování metody GetCurrentValueAsFrozen
Kopírování vlastnosti závislosti, která má výraz Metoda vyvolá výjimku, InvalidOperationException protože nemůže být Freeze vlastností. Aktuální hodnota výrazu je zkopírována, ale nejedná se o samotný výraz.
Kopírování animovaných vlastností závislosti Hodnota základní (neanimovaná) vlastnosti se zkopíruje. Animace nejsou zkopírovány. Je zkopírována aktuální animovaná hodnota vlastnosti. Animace nejsou zkopírovány.

Všimněte si, že zrušení vlastností není kopírováno, ani vlastnosti jen pro čtení.

Chcete-li vytvořit kopii Freezable , která není zmrazena, použijte Clone metodu.

Poznámky pro dědice

Tato metoda používá GetAsFrozenCore(Freezable) k tvorbě klonu virtuální metodu.

Platí pro

Viz také