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


Как создать замораживаемый Read-Only

В этом примере показано, как сделать 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 см. в обзоре.

См. также