Sdílet prostřednictvím


Freezable.GetAsFrozen Metoda

Definice

Vytvoří zablokovanou kopii Freezablevlastnosti , pomocí základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují 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

Zamrzlá kopie Freezable. Vlastnost kopírování IsFrozen je nastavena na truehodnotu .

Výjimky

Nelze Freezable zablokovat, protože obsahuje výrazy nebo animované vlastnosti.

Poznámky

Před voláním této metody byste měli zkontrolovat CanFreeze vlastnost, abyste ověřili Freezable , že lze zablokovat. Použití této metody je podobné vytvoření kopie pomocí Clone a následné zmrazení s metodou Freeze .

Tyto GetAsFrozen metody GetCurrentValueAsFrozen můžou zlepšit výkon kopírování, protože nenaklonují Freezable dílčí objekty, které jsou již zablokované; kopírují je pouze odkazem.

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

Action Chování metody GetAsFrozen GetCurrentValueAsFrozen – chování metody
Kopírování vlastnosti závislosti s výrazem Metoda vyvolá výjimku, InvalidOperationException protože nemůže Freeze vlastnost. Aktuální hodnota výrazu se zkopíruje, ale ne samotný výraz.
Kopírování animované vlastnosti závislosti Zkopíruje se základní hodnota vlastnosti (ne animovaná). Animace se nekopírují. Aktuální animovaná hodnota vlastnosti se zkopíruje. Animace se nekopírují.

Všimněte si, že nekopírované vlastnosti nejsou zkopírovány ani vlastnosti jen pro čtení.

Chcete-li vytvořit kopii nezablokovaných kopií Freezable , použijte metodu Clone .

Poznámky pro dědice

Tato metoda používá virtuální GetAsFrozenCore(Freezable) metodu k vytvoření klonu.

Platí pro

Viz také