Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Freezable.CloneCurrentValueCore(Freezable) Method

Definição

Torna a instância um clone modificável (cópia em profundidade) do Freezable especificado usando os valores de propriedade atuais.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

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

Parâmetros

sourceFreezable
Freezable Freezable Freezable Freezable

O Freezable a ser clonado.The Freezable to be cloned.

Comentários

Esse método é chamado pelo CloneCurrentValue método e não deve ser chamado diretamente do seu código, exceto ao chamar a implementação base ao substituir esse método.This method is called by the CloneCurrentValue method and should not be called directly from your code, except when calling the base implementation while overriding this method. Para criar uma cópia modificável do objeto atual, chame CloneCurrentValue em vez de chamar esse método diretamente.To create a modifiable copy of the current object, call CloneCurrentValue instead of calling this method directly.

Notas aos Herdeiros

Se você derivar Freezablede, talvez seja necessário substituir esse método.If you derive from Freezable, you may need to override this method. Os motivos para substituição incluem o seguinte:Reasons to override include the following: -Sua classe derivada tem dados que não são expostos por meio de propriedades de dependência.- Your derived class has data that is not exposed via dependency properties.

-Sua classe derivada deve executar um trabalho de inicialização extra que não pode ser realizado CreateInstanceCore()simplesmente substituindo.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Por exemplo, isso se aplica se a classe derivada ISupportInitializefor implementada.For example, this applies if your derived class implements ISupportInitialize.

As classes que armazenam todos os seus dados em Propriedades de dependência e que não precisam executar o trabalho de inicialização extra não CloneCurrentValueCore(Freezable)precisam ser substituídas.Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCurrentValueCore(Freezable).

É essencial que todas as implementações chamem a implementação base desse método.It is essential that all implementations call the base implementation of this method. As implementações devem executar apenas o trabalho que não é executado pela implementação padrão.Implementations should only perform work that is not performed by the default implementation. A implementação padrão faz cópias profundas de todas as propriedades graváveis, definidas localmente.The default implementation makes deep copies of all writable, locally set properties. Se o objeto contiver Propriedades de dependência com expressões (como uma associação de dados), o valor atual da expressão será copiado, mas não a própria expressão.If the object contains dependency properties with expressions (such as a data binding), the current value of the expression is copied but not the expression itself.

Se o objeto tiver Propriedades de dependência animadas, o valor animado atual dessas propriedades será copiado, mas as animações não serão.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

Observe que as propriedades de desdefinição não são copiadas nem propriedades somente leitura.Note that unset properties are not copied, nor are read-only properties. Se tal propriedade tiver um valor padrão que seja congelado Freezable, esse valor de propriedade permanecerá congelado no clone, caso contrário, modificável.If such a property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

A lista a seguir resume o comportamento esperado para esse método.The following list summarizes the expected behavior for this method.

-A cópia produzida contém cópias de todos Freezable os subobjetos.- The copy produced contains copies of all Freezable sub-objects.

-As propriedades indefinida e somente leitura não são copiadas.- Unset and read-only properties are not copied.

-Se uma propriedade for animada, seu valor atual será copiado, mas a própria animação não será.- If a property is animated, its current value is copied, but the animation itself is not.

-Nenhum desses subobjetos é congelado na criação.- None of these sub-objects are frozen on creation.

-A cópia em si não é congelada.- The copy itself is not frozen.

Aplica-se a

Veja também