Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Freezable.CloneCurrentValueCore (Freezable)

 

Publicado: octubre de 2016

Convierte la instancia en un clon modificable (copia profunda) del objeto Freezable con valores de propiedad actuales.

Espacio de nombres:   System.Windows
Ensamblado:  WindowsBase (en WindowsBase.dll)

protected virtual void CloneCurrentValueCore(
	Freezable sourceFreezable
)

Parámetros

sourceFreezable
Type: System.Windows.Freezable

Freezable que se va a clonar.

Este método es invocado por el CloneCurrentValue 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. Para crear una copia modificable del objeto actual, llame a CloneCurrentValue en lugar de llamar a este método directamente.

Notas para desarrolladores de herederos:

Si deriva de Freezable, debe invalidar este método. Motivos para reemplazar son los siguientes:

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

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

Las clases que almacenan todos los datos en las propiedades de dependencia y que no es necesario realizar trabajo adicional de inicialización no necesitan invalidar CloneCurrentValueCore.

Es esencial que todas las implementaciones de llamar a la implementación base de este método. Las implementaciones sólo deben realizar un trabajo que no se realiza la implementación predeterminada. La implementación predeterminada crea copias en profundidad de todas las propiedades modificables, establecidas localmente. Si el objeto contiene propiedades de dependencia con expresiones (como un enlace de datos), se copia el valor actual de la expresión pero no la propia expresión.

Si el objeto con propiedades de dependencia animadas, se copia el valor animado actual de las propiedades, pero no las animaciones.

Tenga en cuenta que no se establece propiedades no se copian ni son propiedades de solo lectura. Si esta propiedad tiene un valor predeterminado que está inmovilizado Freezable, que el valor de propiedad continúa estando inmovilizado en el clon modificable de lo contrario.

La lista siguiente resume el comportamiento esperado para este método.

  • La copia generada contiene copias de todos los Freezable objetos secundarios.

  • No se copian las propiedades sin establecer y de sólo lectura.

  • Si anima una propiedad, se copia su valor actual, pero la animación no lo es.

  • Ninguno de estos subobjetos se inmoviliza al crearlos.

  • No se inmoviliza la propia copia.

.NET Framework
Disponible desde 3.0
Volver al principio
Mostrar: