Partilhar via


Como tornar um congelável somente leitura

Este exemplo mostra como criar um Freezable somente leitura chamando seu Freeze método.

Não é possível congelar um Freezable objeto se qualquer uma das seguintes condições for true sobre o objeto:

  • Ele tem propriedades animadas ou associadas a dados.

  • Ele tem propriedades que são definidas por um recurso dinâmico. Para obter mais informações sobre recursos dinâmicos, consulte Recursos XAML.

  • Ele contém Freezable subobjetos que não podem ser congelados.

Se essas condições forem false para o seu Freezable objeto e você não pretende modificá-lo, considere congelá-lo para obter benefícios de desempenho.

Exemplo

O exemplo a seguir congela um , que é um SolidColorBrushtipo de Freezable objeto.

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

if (myBrush.CanFreeze)
{
    // Makes the brush unmodifiable.
    myBrush.Freeze();
}

myButton.Background = myBrush;
Dim myButton As New Button()
Dim myBrush As New SolidColorBrush(Colors.Yellow)

If myBrush.CanFreeze Then
    ' Makes the brush unmodifiable.
    myBrush.Freeze()
End If

myButton.Background = myBrush

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

Confira também