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.

Example

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.
    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;
}

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

See Also

Concepts

Freezable Objects Overview

Reference

Freezable

IsFrozen

Other Resources

Base Elements How-to Topics