Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método Freezable.Clone

Cria um clone modificável da Freezable, fazendo cópias profunda dos valores do objeto. Ao copiar propriedades de dependência do objeto, esse método copia expressões (que não mais poderão resolver) mas não animações ou seus valores atuais.

Namespace:  System.Windows
Assembly:  WindowsBase (em WindowsBase.dll)
public Freezable Clone()

Valor de retorno

Tipo: System.Windows.Freezable
Um clone modificável do objeto atual. O objeto clonado IsFrozen propriedade é false , mesmo se a fonte IsFrozen é de propriedadetrue.

O Clone e CloneCurrentValue métodos produzir clones modificáveis de congelados Freezable objetos (os métodos também clonagem Freezable objetos que não são congelados). O clone é efetivamente uma cópia em profundidade do objeto atual.

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

Ação

Comportamento do método Clone

Comportamento do método CloneCurrentValue

Copiando uma propriedade de dependência que possua uma expressão

A expressão é copiada, mas não mais poderá resolver. Para obter mais informações, consulte Visão geral sobre objetos Freezable.

O valor atual da expressão é copiado, mas não a expressão.

Copiando uma propriedade de dependência animado

O valor da propriedade base (sem animação) é copiado. Animações não são copiadas.

O valor da propriedade atual animado é copiado. Animações não são copiadas.

Observe que remover propriedades não são copiadas. Se uma propriedade unset tem um valor padrão que é um congelado Freezable, que o valor da propriedade permanece congelado em contrário modificável clone.

Mover um Freezable entre segmentos

Esse método pode ser útil para mover um Freezable entre threads. Primeiro, verifique o Freezable unmodifiable, chamando seu Freeze método. Agora o outro thread pode acessar o Freezable e faça um local Clone que ele pode acessar.

Observações para herdeiros

Esse método usa CloneCore para produzir o clone. Para modificar o comportamento desse método em uma classe derivada, substituir o CloneCore método.

Este exemplo mostra como usar o método Clone para criar uma cópia modificável de um Freezable somente leitura.

Depois que um objeto Freezable é marcado como somente leitura ("congelado"), você não pode modificá-lo. Entretanto, você pode usar o método Clone para criar um clone modificável do objeto congelado.

O seguinte exemplo cria um clone modificável de um objeto SolidColorBrush congelado.


Button myButton = new Button();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Yellow);

// Freezing a Freezable before it provides
// performance improvements if you don't
// intend on modifying it. 
if (myBrush.CanFreeze)
{
    // Makes the brush unmodifiable.
    myBrush.Freeze();
}


myButton.Background = myBrush;  

// If you need to modify a frozen brush,
// the Clone method can be used to
// create a modifiable copy.
SolidColorBrush myBrushClone = myBrush.Clone();

// Changing myBrushClone does not change
// the color of myButton, because its
// background is still set by myBrush.
myBrushClone.Color = Colors.Red;

// Replacing myBrush with myBrushClone
// makes the button change to red.
myButton.Background = myBrushClone;


Para obter mais informações sobre objetos Freezable, consulte Visão geral de objetos Freezable.

.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.