Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Method

Definição

Torna a instância atual um clone congelado do Freezable especificado.Makes the current instance a frozen clone of the specified Freezable. Se o objeto tiver propriedades de dependência animadas, seus valores animados atuais serão copiados.If the object has animated dependency properties, their current animated values are copied.

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

Parâmetros

sourceFreezable
Freezable Freezable Freezable Freezable

O Freezable a ser copiado e congelado.The Freezable to copy and freeze.

Comentários

Esse método é chamado pelo GetCurrentValueAsFrozen 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 GetCurrentValueAsFrozen 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 congelada do objeto atual, chame GetCurrentValueAsFrozen em vez de chamar esse método diretamente.To create a frozen copy of the current object, call GetCurrentValueAsFrozen 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 GetCurrentValueAsFrozenCore(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 GetCurrentValueAsFrozenCore(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 cria um novo Freezable usando o CreateInstance() método e faz cópias profundas de freezables descongeladas e cópias superficiais de todas as outras propriedades graváveis, definidas localmente, que ela contém.The default implementation creates a new Freezable using the CreateInstance() method and makes deep copies of unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Se o objeto tiver Propriedades de dependência associadas a dados, as associações de dados serão copiadas, mas poderão não ser mais resolvidas; para obter mais informações sobre clonagem de objetos vinculados a dados, consulte visão geral de objetos de Freezable.If the object has data-bound dependency properties, the data bindings are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. 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.

As propriedades de dependência somente leitura em Freezable um não são copiadas por essa implementação padrão.Read-only dependency properties within a Freezable are not copied by this default implementation.

Se você substituir esse método, deverá chamar a implementação base.If you do override this method, you must call the base implementation.

Você não precisa de Freeze() valores conforme eles são copiados.You do not need to Freeze() values as they are copied. O resultado é congelado por GetAsFrozen() antes de ser retornado.The result is frozen by GetAsFrozen() before being returned.

Aplica-se a

Veja também