Freezable.GetAsFrozen Método

Definición

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas).Creates a frozen copy of the Freezable, using base (non-animated) property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

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

Devoluciones

Copia inmovilizada de Freezable.A frozen copy of the Freezable. La propiedad IsFrozen de la copia se establece en true.The copy's IsFrozen property is set to true.

Excepciones

No se puede inmovilizar Freezable porque contiene expresiones o propiedades animadas.The Freezable cannot be frozen because it contains expressions or animated properties.

Comentarios

Debe comprobar la propiedad CanFreeze antes de llamar a este método para comprobar que el Freezable se puede inmovilizar.You should check the CanFreeze property before calling this method to verify that the Freezable can be frozen. El uso de este método es similar a crear una copia mediante el Clone y, a continuación, inmovilizarla con el método Freeze.Using this method is similar to creating a copy using the Clone and then freezing it with the Freeze method.

Los métodos GetAsFrozen y GetCurrentValueAsFrozen pueden mejorar el rendimiento de la copia porque no clonan Freezable subobjetos que ya están inmovilizados; solo se copian por referencia.The GetAsFrozen and GetCurrentValueAsFrozen methods can improve copying performance because they do not clone Freezable sub-objects that are already frozen; they only copy them by reference.

En la tabla siguiente se resumen las diferencias entre los métodos GetAsFrozen y GetCurrentValueAsFrozen.The following table summarizes the differences between the GetAsFrozen and GetCurrentValueAsFrozen methods.

AcciónAction Comportamiento del método GetAsFrozenGetAsFrozen method behavior Comportamiento del método GetCurrentValueAsFrozenGetCurrentValueAsFrozen method behavior
Copiar una propiedad de dependencia que tiene una expresiónCopying a dependency property that has an expression El método produce una InvalidOperationException porque no puede Freeze la propiedad.The method throws an InvalidOperationException because it cannot Freeze the property. Se copia el valor actual de la expresión, pero no la propia expresión.The current value of the expression is copied, but not the expression itself.
Copiar una propiedad de dependencia animadaCopying an animated dependency property Se copia el valor base (no animado) de la propiedad.The property's base (non-animated) value is copied. Las animaciones no se copian.Animations are not copied. Se copia el valor animado actual de la propiedad.The property's current animated value is copied. Las animaciones no se copian.Animations are not copied.

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.

Para crear una copia de la Freezable que no está inmovilizada, utilice el método Clone.To create a copy of the Freezable that is not frozen, use the Clone method.

Notas a los desarrolladores de herederos

Este método usa el método GetAsFrozenCore(Freezable) virtual para generar el clon.This method uses the virtual GetAsFrozenCore(Freezable) method to produce the clone.

Se aplica a

Consulte también: