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
Concepts
Vue d'ensemble des objets Freezable