Freezable.GetAsFrozenCore(Freezable) Método

Definición

Convierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas).Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

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)

Parámetros

sourceFreezable
Freezable

Instancia que se va a copiar.The instance to copy.

Comentarios

El método GetAsFrozen llama a este método y no debe llamarse directamente desde el código, excepto cuando se llama a la implementación base mientras se invalida este método.This method is called by the GetAsFrozen method and should not be called directly from your code, except when calling the base implementation while overriding this method. Para crear una copia inmovilizada del objeto actual, llame a GetAsFrozen en lugar de llamar a este método directamente.To create a frozen copy of the current object, call GetAsFrozen instead of calling this method directly.

Notas a los desarrolladores de herederos

Si deriva de Freezable puede que tenga que invalidar este método.If you derive from Freezable you may need to override this method. Entre los motivos de invalidación se incluyen los siguientes:Reasons to override include the following: -La clase derivada tiene datos que no se exponen a través de las propiedades de dependencia.- Your derived class has data that is not exposed via dependency properties.

-La clase derivada debe realizar un trabajo de inicialización adicional que no se puede llevar a cabo simplemente invalidando CreateInstanceCore().- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Por ejemplo, esto se aplica si la clase derivada implementa ISupportInitialize.For example, this applies if your derived class implements ISupportInitialize.

Las clases que almacenan todos sus datos en las propiedades de dependencia y que no necesitan realizar ningún trabajo de inicialización adicional no necesitan invalidar GetAsFrozenCore(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 GetAsFrozenCore(Freezable).

Es fundamental que todas las implementaciones llamen a la implementación base de este método.It is essential that all implementations call the base implementation of this method. Las implementaciones solo deben realizar el trabajo que no realiza la implementación predeterminada.Implementations should only perform work that is not performed by the default implementation. La implementación predeterminada hace copias en profundidad de cualquier elementos inmovilizables no inmovilizado y copias rasas de todas las demás propiedades que se puedan escribir en el conjunto local y que contenga.The default implementation makes deep copies of any unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Si el objeto tiene propiedades de dependencia enlazadas a datos, las expresiones se copian, pero es posible que ya no se resuelvan; para obtener más información sobre la clonación de objetos enlazados a datos, vea información general sobre objetos Freezable.If the object has data-bound dependency properties, the expressions are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. Si el objeto tiene propiedades de dependencia animadas, se copian los valores base (no animados) de esas propiedades.If the object has animated dependency properties, the base (non-animated) values of those properties are copied. Las animaciones no se copian.Animations are not copied.

Tenga en cuenta que las propiedades no anuladas no se copian, ni son propiedades de solo lectura.Note that unset properties are not copied, nor are read-only properties.

Si invalida este método, debe llamar a la implementación base.If you do override this method, you must call the base implementation.

No es necesario Freeze() valores a medida que se copian.You do not need to Freeze() values as they are copied. El resultado lo inmoviliza GetAsFrozen() antes de que se devuelva.The result is frozen by GetAsFrozen() before being returned.

Se aplica a

Consulte también: