Partager via


Comment : déterminer si un Freezable est gelé

Cet exemple indique comment déterminer si un objet Freezable est gelé. Si vous essayez de modifier un objet Freezable gelé, il lève une InvalidOperationException. Pour éviter de lever cette exception, utilisez la propriété IsFrozen de l'objet Freezable pour déterminer s'il est gelé.

Exemple

L'exemple suivant gèle un SolidColorBrush, puis le teste à l'aide de la propriété IsFrozen pour déterminer s'il est bien gelé.


            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


            If myBrush.IsFrozen Then ' Evaluates to true.
                ' If the brush is frozen, create a clone and
                ' modify the clone.
                Dim myBrushClone As SolidColorBrush = myBrush.Clone()
                myBrushClone.Color = Colors.Red
                myButton.Background = myBrushClone
            Else
                ' If the brush is not frozen,
                ' it can be modified directly.
                myBrush.Color = Colors.Red
            End If



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

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

            myButton.Background = myBrush;


            if (myBrush.IsFrozen) // Evaluates to true.
            {
                // If the brush is frozen, create a clone and
                // modify the clone.
                SolidColorBrush myBrushClone = myBrush.Clone();
                myBrushClone.Color = Colors.Red;
                myButton.Background = myBrushClone;
            }
            else
            {
                // If the brush is not frozen,
                // it can be modified directly.
                myBrush.Color = Colors.Red;
            }


Pour plus d'informations sur les objets Freezable, consultez Vue d'ensemble des objets Freezable.

Voir aussi

Référence

Freezable

IsFrozen

Concepts

Vue d'ensemble des objets Freezable

Autres ressources

Rubriques "Comment" relatives aux éléments de base