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


Freezable.GetAsFrozen Метод

Определение

Создает замороженную копию базовых Freezable(не анимированных) значений свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке.

public:
 System::Windows::Freezable ^ GetAsFrozen();
public System.Windows.Freezable GetAsFrozen();
member this.GetAsFrozen : unit -> System.Windows.Freezable
Public Function GetAsFrozen () As Freezable

Возвращаемое значение

Замороженная копия Freezable. Для свойства копирования IsFrozen задано значение true.

Исключения

Невозможно Freezable заморозить, так как он содержит выражения или анимированные свойства.

Комментарии

Перед вызовом CanFreeze этого метода необходимо проверить свойство, чтобы убедиться, что Freezable его можно заморозить. Использование этого метода аналогично созданию копии с помощью Clone метода, а затем заморозке его Freeze с помощью метода.

GetCurrentValueAsFrozen Методы GetAsFrozen могут повысить производительность копирования, так как они не клонируют Freezable вложенные объекты, которые уже заморожены; они копируются только по ссылке.

В следующей таблице перечислены различия между методами и GetCurrentValueAsFrozen методамиGetAsFrozen.

Действие Поведение метода GetAsFrozen Поведение метода GetCurrentValueAsFrozen
Копирование свойства зависимостей с выражением Метод создает исключение InvalidOperationException , так как оно не может Freeze иметь свойство. Текущее значение выражения копируется, но не само выражение.
Копирование анимированного свойства зависимостей Копируется базовое значение свойства (не анимированное). Анимации не копируются. Текущее анимированное значение свойства копируется. Анимации не копируются.

Обратите внимание, что свойства без набора не копируются, а также не являются свойствами только для чтения.

Чтобы создать копию не Freezable замороженной Clone , используйте метод.

Примечания для тех, кто наследует этот метод

Этот метод использует виртуальный GetAsFrozenCore(Freezable) метод для создания клона.

Применяется к

См. также раздел