Partilhar via


Como fazer um Read-Only congelável

Este exemplo mostra como tornar um Freezable de apenas leitura chamando o seu método Freeze.

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

  • Tem propriedades animadas ou ligadas a dados.

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

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

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

Exemplo

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

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 objetos Freezable, consulte a Visão Geral de Objetos Congeláveis.

Ver também