Freezable.GetCurrentValueAsFrozenCore(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ří aktuální instanci zmrazeným klonem zadaného Freezable. Pokud má objekt animované vlastnosti závislostí, jejich aktuální animované hodnoty se zkopírují.
protected:
virtual void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetCurrentValueAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)
Parametry
Poznámky
Tato metoda je volána metodou GetCurrentValueAsFrozen 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 zmrazenou kopii aktuálního objektu, volání GetCurrentValueAsFrozen namísto volání této metody přímo.
Poznámky pro dědice
Pokud jste odvozeni z Freezable, 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 dodatečné inicializační práce, které 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ávislostí a které nemusí provádět další inicializační práci, nemusí přepsat GetCurrentValueAsFrozenCore(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 vytvoří novou Freezable metodu CreateInstance() a vytvoří hluboké kopie nezamrznutelných a mělkých kopií všech ostatních zapisovatelných a místně nastavených vlastností, které obsahuje. Pokud má objekt vlastnosti závislostí vázané na data, zkopírují se datové vazby, ale již nemusí být vyřešeny; 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í, aktuální animační hodnota těchto vlastností se zkopíruje, ale animace nejsou.
Vlastnosti závislostí jen pro čtení v rámci této Freezable výchozí implementace se nekopírují.
Pokud tuto metodu přepíšete, je nutné volat základní implementaci.
Při kopírování není nutné hodnoty Freeze() . Výsledek se před vrácením GetAsFrozen() zablokuje.