Freezable.GetCurrentValueAsFrozenCore(Freezable) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Делает текущий экземпляр замороженным клоном указанного Freezable. Если объект имеет анимированные свойства зависимостей, их текущие анимированные значения копируются.
protected:
virtual void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetCurrentValueAsFrozenCore(System.Windows.Freezable sourceFreezable);
abstract member GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)
Параметры
Комментарии
Этот метод вызывается методом GetCurrentValueAsFrozen и не должен вызываться непосредственно из кода, за исключением вызова базовой реализации при переопределении этого метода. Чтобы создать замороженную копию текущего объекта, вызовите GetCurrentValueAsFrozen вместо вызова этого метода напрямую.
Примечания для тех, кто наследует этот метод
Если вы наследуете, Freezableможет потребоваться переопределить этот метод. Ниже приведены причины переопределения:
Производный класс содержит данные, которые не предоставляются с помощью свойств зависимостей.
Производный класс должен выполнять дополнительные операции инициализации, которые невозможно выполнить путем простого переопределения CreateInstanceCore(). Например, это применимо, если производный класс реализует ISupportInitialize.
Классы, которые хранят все свои данные в свойствах зависимостей, и не нужно выполнять дополнительную работу инициализации, не нужно переопределять GetCurrentValueAsFrozenCore(Freezable).
Важно, чтобы все реализации вызывали базовую реализацию этого метода. Реализации должны выполнять только работу, которая не выполняется реализацией по умолчанию. Реализация по умолчанию создает новый Freezable с помощью CreateInstance() метода и делает глубокие копии небезопасных освобожденных и мелких копий всех остальных записываемых свойств локально заданными свойствами. Если объект имеет свойства зависимостей, привязанных к данным, привязки данных копируются, но могут больше не разрешаться; Дополнительные сведения о клонирование объектов, привязанных к данным, см. в обзоре freezable Objects. Если объект имеет анимированные свойства зависимостей, текущее анимированное значение этих свойств копируется, но анимации не являются.
Свойства зависимостей только для чтения в пределах не Freezable копируются этой реализацией по умолчанию.
Если этот метод переопределяется, необходимо вызвать базовую реализацию.
Значения не требуются Freeze() , так как они копируются. Результат заморожен GetAsFrozen() до возврата.