(WPF) 고정 가능

개체에 변경이 발생하면 Change 이벤트가 트리거됩니다.

Freezable은 더 이상 변경이 발생하지 않도록 고정 항목으로 정의하여 애플리케이션 성능을 향상시키는 데 도움이 되는 특수 기능을 제공합니다.

아래와 같이 Brush의 Freeze() 메서드를 호출하면 더 이상 변경을 허용하지 않으므로 Brush.Color가 변경될 때 오류가 발생합니다.

Button myButton = new Button();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Yellow);

if (myBrush.CanFreeze)
{
    // Makes the brush unmodifiable.
    myBrush.Freeze();
}

myButton.Background = myBrush;

try 
{
    // Throws an InvalidOperationException, because the brush is frozen.
    myBrush.Color = Colors.Red;
}
catch(InvalidOperationException ex)
{
    MessageBox.Show("Invalid operation: " + ex.ToString());
}

freezable은 그래픽 개체의 그리기 속도를 높이는 데 사용됩니다.

특정 개체가 정지되면 그래픽 시스템은 더 이상 해당 개체에 대해 걱정할 필요가 없으므로 성능이 향상됩니다.