Comparteix a través de


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).

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.

Comentarios

El método llama GetAsFrozen a este método y no se debe llamar directamente desde el código, excepto cuando se llama a la implementación base mientras se reemplaza este método. Para crear una copia inmovilizada del objeto actual, llame a GetAsFrozen en lugar de llamar directamente a este método.

Notas a los desarrolladores de herederos

Si deriva de Freezable , es posible que tenga que invalidar este método. Entre los motivos para invalidar se incluyen los siguientes:

  • La clase derivada tiene datos que no se exponen a través de propiedades de dependencia.

  • La clase derivada debe realizar un trabajo de inicialización adicional que no se puede realizar simplemente invalidando CreateInstanceCore(). Por ejemplo, esto se aplica si la clase derivada implementa ISupportInitialize.

Las clases que almacenan todos sus datos en las propiedades de dependencia y que no necesitan realizar un trabajo de inicialización adicional no necesitan invalidar GetAsFrozenCore(Freezable).

Es esencial que todas las implementaciones llamen a la implementación base de este método. Las implementaciones solo deben realizar trabajos que no se realicen mediante la implementación predeterminada. La implementación predeterminada realiza copias en profundidad de cualquier freezables desfrozen y copias superficiales de todas las demás propiedades de conjunto localmente grabables que contiene. 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. Si el objeto tiene propiedades de dependencia animadas, se copian los valores base (no animados) de esas propiedades. Las animaciones no se copian.

Tenga en cuenta que las propiedades sin establecer no se copian ni son propiedades de solo lectura.

Si invalida este método, debe llamar a la implementación base.

No es necesario que los Freeze() valores se copien. El resultado se inmoviliza GetAsFrozen() antes de devolverse.

Se aplica a

Consulte también