Freezable.GetAsFrozen Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma cópia congelada o Freezable usando valores de propriedade base (não animadas). Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.
public:
System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen ();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable
Retornos
Uma cópia congelada do Freezable. A propriedade IsFrozen da cópia está definida para true
.
Exceções
O Freezable não pode ser congelado porque ele contém expressões ou propriedades animadas.
Comentários
Você deve verificar a CanFreeze propriedade antes de chamar esse método para verificar se ela Freezable pode ser congelada. O uso desse método é semelhante à criação de uma cópia usando o Clone método e, em seguida, congelando-o com o Freeze método.
Os GetAsFrozen métodos e os GetCurrentValueAsFrozen métodos podem melhorar o desempenho de cópia porque eles não clonam Freezable sub-objetos que já estão congelados; eles só os copiam por referência.
A tabela a seguir resume as diferenças entre os métodos e GetCurrentValueAsFrozen os GetAsFrozen métodos.
Ação | Comportamento do método GetAsFrozen | Comportamento do método GetCurrentValueAsFrozen |
---|---|---|
Copiando uma propriedade de dependência que tem uma expressão | O método gera um InvalidOperationException porque não pode Freeze a propriedade. | O valor atual da expressão é copiado, mas não a expressão em si. |
Copiando uma propriedade de dependência animada | O valor base (não animado) da propriedade é copiado. As animações não são copiadas. | O valor animado atual da propriedade é copiado. As animações não são copiadas. |
Observe que as propriedades não desajustadas não são copiadas nem são propriedades somente leitura.
Para criar uma cópia do Freezable que não está congelado, use o Clone método.
Notas aos Herdeiros
Esse método usa o método virtual GetAsFrozenCore(Freezable) para produzir o clone.