Freezable.CloneCurrentValue Método

Definición

Crea un clon modificable (copia en profundidad) de Freezable con sus valores actuales.

public:
 System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () 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 mediante su Freeze método . Ahora otro subproceso puede acceder Freezable a y crear un clon local al que pueda acceder.

Notas a los desarrolladores de herederos

Este método usa el CloneCurrentValueCore(Freezable) método para generar el clon; Freezable los implementadores que invalidan CloneCurrentValueCore(Freezable) deben asegurarse de que la copia no está inmovilizada durante la creación.

Se aplica a

Consulte también