Freezable.CloneCurrentValue Método

Definição

Cria um clone modificável (cópia profunda) do Freezable usando 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

Freezable

Um clone modificável do objeto atual. A propriedade IsFrozen do objeto clonado será false, mesmo se a propriedade IsFrozen da 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 CloneCurrentValue os Clone 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 a Visão geral de objetos congeláveis. O valor atual da expressão é copiado, mas não a expressão em si.
Copiar 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 desdefinidas não são copiadas. Se uma propriedade não configurada tiver um valor padrão que seja 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 não modificável usando seu Freeze método. Agora, outro thread pode acessar e Freezable fazer um clone local que ele pode 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