This documentation is archived and is not being maintained.

How to: Determine Whether a Freezable Is Frozen

This example shows how to determine whether a Freezable object is frozen. If you try to modify a frozen Freezable object, it throws an InvalidOperationException. To avoid throwing this exception, use the IsFrozen property of the Freezable object to determine whether it is frozen.


The following example freezes a SolidColorBrush and then tests it by using the IsFrozen property to determine whether it is frozen.

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

if (myBrush.CanFreeze)
    // Makes the brush unmodifiable.

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;
    // If the brush is not frozen,
    // it can be modified directly.
    myBrush.Color = Colors.Red;

For more information about Freezable objects, see the Freezable Objects Overview.

See Also