Freezable.CloneCurrentValue Método

Definição

Cria um clone modificável (cópia profunda) do uso de Freezable seus valores atuais.

public:
 System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable

Retornos

Um clone modificável do objeto atual. A propriedade do IsFrozen objeto clonado é false mesmo se a propriedade da IsFrozen origem for true.

Comentários

Os Clone métodos e os CloneCurrentValue métodos produzem clones modificáveis de objetos congelados Freezable (os métodos também clonam Freezable objetos que não estão congelados). O clone é efetivamente uma cópia profunda do objeto atual.

A tabela a seguir resume as diferenças entre os métodos e Clone os CloneCurrentValue métodos.

Ação Comportamento do método clone Comportamento do método CloneCurrentValue
Copiando uma propriedade de dependência que tem uma expressão A expressão é copiada, mas pode não ser mais resolvida. Para obter mais informações, consulte Visão Geral dos Objetos Freezable. 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 da propriedade (não animado) é 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 definidos não são copiadas. Se uma propriedade não configurada tiver um valor padrão congelado Freezable, esse valor de propriedade permanecerá congelado no clone modificável de outra forma.

Mover um freezable entre threads

Esse método pode ser útil para mover um Freezable entre threads. Primeiro, torne o Freezable inmodificável usando seu Freeze método. Agora, outro thread pode acessar e Freezable fazer um clone local que ele possa acessar.

Notas aos Herdeiros

Esse método usa o CloneCurrentValueCore(Freezable) método para produzir o clone; Freezable os implementadores que substituem CloneCurrentValueCore(Freezable) devem garantir que a cópia não esteja congelada na criação.

Aplica-se a

Confira também