Show / Hide Table of Contents

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

В этом примере показано, как определить, является ли 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
  • IsFrozen
  • Общие сведения об объектах класса Freezable
  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX