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


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

В этом примере показано, как сделать объект Freezable доступным только для чтения путем вызова его метода Freeze.

Невозможно зафиксировать объект Freezable если одно из следующих условий, касающихся объекта, имеет значение true.

  • Он имеет анимированные свойства или свойства с привязкой к данным.

  • Он имеет свойства, заданные динамическим ресурсом. Дополнительные сведения о динамических ресурсах см. в разделе Ресурсы XAML.

  • Он содержит вложенные объекты Freezable, которые нельзя зафиксировать.

Если эти условия имеют значение false для объекта Freezable и вы не планируете его изменять, рассмотрите возможность зафиксировать его, чтобы получить преимущества по производительности.

Пример

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

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

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

myButton.Background = myBrush;
Dim myButton As New Button()
Dim myBrush As New SolidColorBrush(Colors.Yellow)

If myBrush.CanFreeze Then
    ' Makes the brush unmodifiable.
    myBrush.Freeze()
End If

myButton.Background = myBrush

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

См. также