Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Method

Definición

Convierte esta instancia en un clon modificable (copia en profundidad) del Freezable especificado mediante los valores de propiedad actuales.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

protected:
 virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore (System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)

Parámetros

sourceFreezable
Freezable Freezable Freezable Freezable

Freezable que se va a clonar.The Freezable to be cloned.

Comentarios

El CloneCurrentValue método llama a este método y no se debe llamar directamente desde el código, excepto cuando se llama a la implementación base al invalidar este método.This method is called by the CloneCurrentValue method and should not be called directly from your code, except when calling the base implementation while overriding this method. Para crear una copia modificable del objeto actual, llame a CloneCurrentValue en lugar de llamar a este método directamente.To create a modifiable copy of the current object, call CloneCurrentValue 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 CreateInstanceCore()a cabo simplemente invalidando.- 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.

No es necesario invalidar CloneCurrentValueCore(Freezable)las clases que almacenan todos sus datos en propiedades de dependencia y que no necesitan realizar ningún trabajo de inicialización adicional.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCurrentValueCore(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 todas las propiedades que se puedan escribir y establecer localmente.The default implementation makes deep copies of all writable, locally set properties. 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.If the object contains dependency properties with expressions (such as a data binding), the current value of the expression is copied but not the expression itself.

Si el objeto tiene propiedades de dependencia animadas, se copia el valor animado actual de esas propiedades, pero no las animaciones.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

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 dicha propiedad tiene un valor predeterminado que es un inmovilizado Freezable, ese valor de propiedad permanece inmovilizado en el clon modificable de otro modo.If such a property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

En la lista siguiente se resume el comportamiento esperado para este método.The following list summarizes the expected behavior for this method.

-La copia generada contiene copias de Freezable todos los subobjetos.- The copy produced contains copies of all Freezable sub-objects.

-Unset y no se copian las propiedades de solo lectura.- Unset and read-only properties are not copied.

-Si se anima una propiedad, se copia su valor actual, pero no la animación en sí.- If a property is animated, its current value is copied, but the animation itself is not.

-Ninguno de estos subobjetos se inmoviliza durante la creación.- None of these sub-objects are frozen on creation.

-La copia en sí no está inmovilizada.- The copy itself is not frozen.

Se aplica a

Consulte también: