Поделиться через


Практическое руководство. Определение состояния объекта класса Freezable

Обновлен: Ноябрь 2007

В данном примере показано, как определить, зафиксирован ли объект класса Freezable. Если попытаться изменить зафиксированный объект класса Freezable, он вызовет исключение InvalidOperationException. Чтобы избежать возникновения данного исключения, необходимо использовать свойство IsFrozen объекта Freezable, чтобы определить, зафиксирован ли он.

Пример

В следующем примере фиксируется объект SolidColorBrush и затем с помощью свойства IsFrozen проверяется является ли он зафиксированным.

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


Дополнительные сведения об объектах Freezable см. в разделе Общие сведения об объектах класса Freezable.

См. также

Основные понятия

Общие сведения об объектах класса Freezable

Ссылки

Freezable

IsFrozen

Другие ресурсы

Разделы руководства, посвященные базовым элементам