Freezable.GetAsFrozenCore(Freezable) Método

Definição

Torna a instância um clone congelado do especificado Freezable usando valores base (não animados).

protected:
 virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore(System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)

Parâmetros

sourceFreezable
Freezable

A instância a copiar.

Observações

Este método é chamado pelo GetAsFrozen método e não deve ser chamado diretamente do seu código, exceto quando se chama a implementação base enquanto se sobrepõe este método. Para criar uma cópia congelada do objeto atual, chame GetAsFrozen este método em vez de chamar diretamente.

Notas para Herdeiros

Se derivar de, Freezable pode ser necessário ultrapassar este método. As razões para anular incluem as seguintes:

  • A sua classe derivada tem dados que não são expostos através de propriedades de dependência.

  • A sua classe derivada deve realizar trabalho extra de inicialização que não pode ser realizado simplesmente sobrescrevendo CreateInstanceCore(). Por exemplo, isto aplica-se se a sua classe derivada implementar ISupportInitialize.

Classes que armazenam todos os seus dados em propriedades de dependência e que não precisam de realizar trabalho extra de inicialização não precisam de sobrescrever GetAsFrozenCore(Freezable).

É essencial que todas as implementações chamem a implementação base deste método. As implementações só devem realizar trabalho que não seja realizado pela implementação padrão. A implementação padrão faz cópias profundas de quaisquer congeláveis não congelados e cópias superficiais de todas as outras propriedades graváveis e localmente definidas que contém. Se o objeto tiver propriedades de dependência limitada a dados, as expressões são copiadas mas podem deixar de se resolver; para mais informações sobre clonagem de objetos ligados a dados, consulte Visão Geral de Objetos Congeláveis. Se o objeto tiver propriedades de dependência animadas, os valores base (não animados) dessas propriedades são copiados. As animações não são copiadas.

Note que as propriedades não definidas não são copiadas, nem as propriedades de apenas leitura.

Se sobrescreveres este método, tens de chamar a implementação base.

Não precisas de valores Freeze() porque são copiados. O resultado é congelado antes GetAsFrozen() de ser devolvido.

Aplica-se a

Ver também