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) метод для создания клона.