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.