Freezable.GetAsFrozenCore(Freezable) Метод

Определение

Делает экземпляр зафиксированной копией указанного Freezable, используя базовые (без анимации) значения свойств.

protected:
 virtual void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetAsFrozenCore : System.Windows.Freezable -> unit
override this.GetAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetAsFrozenCore (sourceFreezable As Freezable)

Параметры

sourceFreezable
Freezable

Копируемый экземпляр.

Комментарии

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

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

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

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

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

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

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

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

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

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

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