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)

Параметры

sourceFreezable
Freezable

Объект Freezable, который необходимо скопировать и заморозить.

Комментарии

Этот метод вызывается GetCurrentValueAsFrozen методом и не должен вызываться непосредственно из кода, за исключением случаев вызова базовой реализации при переопределении этого метода. Чтобы создать замороженную копию текущего объекта, вызовите GetCurrentValueAsFrozen метод вместо вызова этого метода напрямую.

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

Если вы наследуете от Freezable , может потребоваться переопределить этот метод. Ниже перечислены причины переопределения. -У производного класса есть данные, которые не предоставляются через свойства зависимостей.

— Ваш производный класс должен выполнять дополнительные операции инициализации, которые не могут быть выполнены путем простого переопределения CreateInstanceCore() . Например, это применимо, если производный класс реализует ISupportInitialize .

Классы, хранящие все свои данные в свойствах зависимостей и не требующие дополнительной работы по инициализации, не нуждаются в переопределении GetCurrentValueAsFrozenCore(Freezable) .

Важно, чтобы все реализации вызывали базовую реализацию этого метода. Реализации должны выполнять только работу, которая не выполняется реализацией по умолчанию. Реализация по умолчанию создает новый Freezable метод с помощью CreateInstance() метода и создает глубокие копии незамороженных зафиксированных элементов Freezable и неполные копии всех остальных доступных для записи свойств, которые в нем содержатся локально. Если объект имеет свойства зависимостей, привязанные к данным, привязки данных копируются, но могут больше не разрешаться; Дополнительные сведения о клонировании объектов, привязанных к данным, см. в разделе Общие сведения об объектах Freezable. Если объект имеет анимированные свойства зависимостей, то текущее анимированное значение этих свойств копируется, но анимация не выполняется.

Свойства зависимостей, доступные только для чтения в, Freezable не копируются этой реализацией по умолчанию.

При переопределении этого метода необходимо вызвать базовую реализацию.

При Freeze() копировании значения не нужны. Результат зафиксируется GetAsFrozen() перед возвратом.

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

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