Freezable.GetAsFrozenCore(Freezable) 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ří instanci ukotveným klonem zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.
protected:
virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore(System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)
Parametry
- sourceFreezable
- Freezable
Instance, která se má zkopírovat.
Poznámky
Tato metoda je volána metodou GetAsFrozen a neměla by být volána přímo z vašeho kódu, s výjimkou volání základní implementace při přepsání této metody. Chcete-li vytvořit ukotvenou kopii aktuálního objektu, volání GetAsFrozen namísto volání této metody přímo.
Poznámky pro dědice
Pokud jste odvozeni od Freezable vás, možná budete muset tuto metodu přepsat. Mezi důvody přepsání patří:
Vaše odvozená třída obsahuje data, která nejsou vystavena prostřednictvím vlastností závislostí.
Odvozená třída musí provádět extra inicializační práci, kterou nelze provést jednoduše přepsáním CreateInstanceCore(). To platí například v případě, že vaše odvozená třída implementuje ISupportInitialize.
Třídy, které ukládají všechna data ve vlastnostech závislosti a které nepotřebují provádět další inicializační práci, nemusí přepisovat GetAsFrozenCore(Freezable).
Je nezbytné, aby všechny implementace volali základní implementaci této metody. Implementace by měly provádět pouze práci, která není provedena ve výchozí implementaci. Výchozí implementace vytváří hloubkové kopie všech nezamrzlých mrazivých a mělkých kopií všech ostatních zapisovatelných, místně nastavených vlastností, které obsahuje. Pokud objekt obsahuje vlastnosti závislostí vázané na data, výrazy se zkopírují, ale nemusí se přeložit; Další informace o klonování objektů vázaných na data naleznete v tématu Přehled zamrznutelných objektů. Pokud má objekt animované vlastnosti závislostí, základní (ne animované) hodnoty těchto vlastností se zkopírují. Animace se nekopírují.
Všimněte si, že nekopírované vlastnosti nejsou zkopírovány ani vlastnosti jen pro čtení.
Pokud tuto metodu přepíšete, musíte volat základní implementaci.
Při kopírování není nutné Freeze() hodnoty. Výsledek se zablokuje před vrácením GetAsFrozen() .