Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método Freezable.CloneCurrentValueCore (Freezable)

 
System_CAPS_noteObservação

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Faz a instância de um clone modificável (cópia em profundidade) especificado Freezable usando os valores da propriedade atual.

Namespace:   System.Windows
Assembly:  WindowsBase (em WindowsBase.dll)

protected virtual void CloneCurrentValueCore(
	Freezable sourceFreezable
)

Parâmetros

sourceFreezable
Type: System.Windows.Freezable

O Freezable a ser clonado.

Este método é chamado pelo CloneCurrentValue método e não deve ser chamado diretamente no seu código de exceção ao chamar a implementação base ao substituir esse método. Para criar uma cópia modificável do objeto atual, chame CloneCurrentValue em vez de chamar este método diretamente.

Observações para os Herdeiros:

Se você derivar de Freezable, talvez seja necessário substituir esse método. Motivos para substituir incluem o seguinte:

  • A classe derivada tem dados que não são expostos por meio de propriedades de dependência.

  • A classe derivada deve executar o trabalho de inicialização extra não pode ser obtido por meio da substituição simplesmente CreateInstanceCore. Por exemplo, isso se aplica se sua classe derivada implementa ISupportInitialize.

Classes que armazenam todos os seus dados em Propriedades de dependência e que não é necessário executar o trabalho de inicialização extra não precisam substituir CloneCurrentValueCore.

É essencial que todas as implementações de chamar a implementação base deste método. Implementações só devem executar o trabalho que não é executado pela implementação do padrão. A implementação padrão faz cópias profundas de todas as propriedades graváveis, definidas localmente. Se o objeto contém propriedades de dependência com expressões (como uma associação de dados), o valor atual da expressão é copiado, mas não a própria expressão.

Se o objeto tem propriedades de dependência de animação, o valor atual animado dessas propriedades é copiado, mas as animações não são.

Observe que as propriedades não definidas não são copiadas, nem são propriedades somente leitura. Se essa propriedade tem um valor padrão que é um congelada Freezable, que o valor da propriedade permaneça congelado no clone modificável caso contrário.

A lista a seguir resume o comportamento esperado para esse método.

  • A cópia produzida contém cópias de todos os Freezable subobjetos.

  • Propriedades não definidas e somente leitura não são copiadas.

  • Se uma propriedade é animada, seu valor atual é copiado, mas a animação em si não é.

  • Nenhum desses objetos sub congeladas na criação.

  • A cópia em si não está congelada.

.NET Framework
Disponível desde 3.0
Retornar ao início
Mostrar: