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". Если у объекта есть анимированные свойства зависимостей, то копируется текущее анимированное значение этих свойств, но анимации отсутствуют.
Свойства зависимостей только для чтения в пределах a Freezable не копируются этой реализацией по умолчанию.
При переопределении этого метода необходимо вызвать базовую реализацию.
Значения, которые копируются, не требуется Freeze() . Результат заморожен перед возвратом GetAsFrozen() .