How can I determine whether a Freezable Is Frozen?

Platform: WPF| Category: Freezable Object

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

[C#]

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;

Share with

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.