Compartir a través de


Freezable.Clone Método

Definición

Crea un clon modificable del elemento Freezable y hace copias en profundidad de los valores del objeto. Cuando se copian las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan), pero no copia las animaciones ni sus valores actuales.

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone ();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

Devoluciones

Freezable

Clon modificable del objeto actual. La propiedad IsFrozen del objeto clonado es false aunque la propiedad IsFrozen del origen sea true.

Comentarios

Los Clone métodos y CloneCurrentValue generan clones modificables de objetos congelados (los métodos también clonan Freezable objetos que no están inmovilizadosFreezable). El clon es efectivamente una copia profunda del objeto actual.

En la tabla siguiente se resumen las diferencias entre los Clone métodos y CloneCurrentValue .

Acción Comportamiento del método de clonación Comportamiento del método CloneCurrentValue
Copia de una propiedad de dependencia que tiene una expresión La expresión se copia, pero es posible que ya no se resuelva. Para obtener más información, consulte Información general sobre objetos Freezable. El valor actual de la expresión se copia, pero no la propia expresión.
Copia de una propiedad de dependencia animada El valor base (no animado) de la propiedad se copia. Las animaciones no se copian. El valor animado actual de la propiedad se copia. Las animaciones no se copian.

Tenga en cuenta que no se copian las propiedades sin establecer. Si una propiedad unset tiene un valor predeterminado que es un inmovilizado Freezable, ese valor de propiedad permanece inmovilizado en el clon modificable de otro modo.

Mover un objeto Freezable entre subprocesos

Este método puede ser útil para mover un objeto Freezable entre subprocesos. En primer lugar, haga que no Freezable se pueda modificar llamando a su Freeze método. Ahora otro subproceso puede acceder Freezable a y crear un entorno local Clone al que pueda acceder.

Notas a los desarrolladores de herederos

Este método usa CloneCore(Freezable) para generar el clon. Para modificar el comportamiento de este método en una clase derivada, reemplace el CloneCore(Freezable) método .

Se aplica a

Consulte también