Freezable.GetAsFrozen Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.