Partilhar via


Como: Obter uma Cópia Modificável de um Freezable Somente-Leitura

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.

Exemplo

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 sobre objetos Freezable.

Consulte também

Conceitos

Visão geral sobre objetos Freezable

Referência

Freezable

CloneCurrentValue

Outros recursos

Tópicos Como fazer Elementos Base