Freezable.GetCurrentValueAsFrozenCore(Freezable) Metoda

Definice

Nastaví aktuální instanci na zmrazený klon zadaného Freezable .Makes the current instance a frozen clone of the specified Freezable. Pokud má objekt animované vlastnosti závislosti, zkopírují se jejich aktuální animované hodnoty.If the object has animated dependency properties, their current animated values are copied.

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

sourceFreezable
Freezable

FreezableKe zkopírování a zablokování.The Freezable to copy and freeze.

Poznámky

Tato metoda je volána GetCurrentValueAsFrozen metodou a neměla by být volána přímo z kódu, s výjimkou volání základní implementace při přepsání této metody.This method is called by the GetCurrentValueAsFrozen method and should not be called directly from your code, except when calling the base implementation while overriding this method. Chcete-li vytvořit zmrazenou kopii aktuálního objektu, zavolejte GetCurrentValueAsFrozen namísto volání této metody přímo.To create a frozen copy of the current object, call GetCurrentValueAsFrozen instead of calling this method directly.

Poznámky pro dědice

Pokud odvodíte z Freezable , může být nutné přepsat tuto metodu.If you derive from Freezable, you may need to override this method. Důvody k přepsání zahrnují následující:Reasons to override include the following: – Vaše odvozená třída obsahuje data, která nejsou vystavena prostřednictvím vlastností závislosti.- Your derived class has data that is not exposed via dependency properties.

-Vaše odvozená třída musí provést dodatečnou inicializační práci, kterou nelze provést pouhým přepsáním CreateInstanceCore() .- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Například to platí v případě, že implementuje odvozené třídy ISupportInitialize .For example, this applies if your derived class implements ISupportInitialize.

Třídy, které ukládají všechna data ve vlastnostech závislosti a které nepotřebují provádět dodatečné inicializační operace, není nutné přepsat GetCurrentValueAsFrozenCore(Freezable) .Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override GetCurrentValueAsFrozenCore(Freezable).

Je nezbytné, aby všechny implementace volaly základní implementaci této metody.It is essential that all implementations call the base implementation of this method. Implementace by měly provádět pouze práci, která není provedena výchozí implementací.Implementations should only perform work that is not performed by the default implementation. Výchozí implementace vytvoří novou Freezable CreateInstance() metodu pomocí metody a vytvoří hloubkové kopie nezmrazených zablokovatelné a neomezených kopií všech ostatních zapisovatelných, místně nastavených vlastností, které obsahuje.The default implementation creates a new Freezable using the CreateInstance() method and makes deep copies of unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Pokud objekt obsahuje vlastnosti závislosti vázané na data, zkopírují se datové vazby, ale nemusí již být vyřešeny; Další informace o klonování objektů vázaných na data naleznete v tématu Freezable Object Overview.If the object has data-bound dependency properties, the data bindings are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. Pokud má objekt animované vlastnosti závislosti, je zkopírována aktuální animovaná hodnota těchto vlastností, ale animace nejsou.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

Tato výchozí implementace nekopíruje vlastnosti závislosti jen pro čtení v rámci Freezable .Read-only dependency properties within a Freezable are not copied by this default implementation.

Pokud přepíšete tuto metodu, musíte zavolat základní implementaci.If you do override this method, you must call the base implementation.

Při kopírování není nutné provádět Freeze() hodnoty.You do not need to Freeze() values as they are copied. Výsledek je zmrazen nástrojem GetAsFrozen() před vrácením.The result is frozen by GetAsFrozen() before being returned.

Platí pro

Viz také