Freezable.GetAsFrozen Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas). Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.
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. La propiedad IsFrozen de la copia se establece en true
.
Excepciones
No se puede inmovilizar Freezable porque contiene expresiones o propiedades animadas.
Comentarios
Debe comprobar la CanFreeze propiedad antes de llamar a este método para comprobar que Freezable se puede inmovilizar. El uso de este método es similar a crear una copia mediante Clone y, a continuación, inmovilizarla con el Freeze método .
Los GetAsFrozen métodos y GetCurrentValueAsFrozen pueden mejorar el rendimiento de copia porque no clonan Freezable subobjetos que ya están inmovilizados; solo los copian por referencia.
En la tabla siguiente se resumen las diferencias entre los GetAsFrozen métodos y GetCurrentValueAsFrozen .
Acción | Comportamiento del método GetAsFrozen | Comportamiento del método GetCurrentValueAsFrozen |
---|---|---|
Copiar una propiedad de dependencia que tiene una expresión | El método produce una InvalidOperationException excepción porque no puede Freeze ser la propiedad . | El valor actual de la expresión se copia, pero no la propia expresión. |
Copiar una propiedad de dependencia animada | Se copia el valor base (no animado) de la propiedad. Las animaciones no se copian. | Se copia el valor animado actual de la propiedad. Las animaciones no se copian. |
Tenga en cuenta que las propiedades sin establecer no se copian ni son propiedades de solo lectura.
Para crear una copia de que Freezable no está inmovilizada, use el Clone método .
Notas a los desarrolladores de herederos
Este método usa el método virtual GetAsFrozenCore(Freezable) para generar el clon.