Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Method

Определение

Создает текущий экземпляр замороженной копии указанного объекта Freezable.Makes the current instance a frozen clone of the specified Freezable. Если объект имеет анимированные свойства зависимостей, копируются их текущие анимированные значения.If the object has animated dependency properties, their current animated values are copied.

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 Freezable Freezable

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

Комментарии

Этот метод вызывается GetCurrentValueAsFrozen методом и не должен вызываться непосредственно из кода, за исключением случаев вызова базовой реализации при переопределении этого метода.This method is called by the GetCurrentValueAsFrozen method and should not be called directly from your code, except when calling the base implementation while overriding this method. Чтобы создать замороженную копию текущего объекта, вызовите GetCurrentValueAsFrozen метод вместо вызова этого метода напрямую.To create a frozen copy of the current object, call GetCurrentValueAsFrozen instead of calling this method directly.

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

Если вы наследуете Freezableот, может потребоваться переопределить этот метод.If you derive from Freezable, you may need to override this method. Ниже перечислены причины переопределения.Reasons to override include the following: -У производного класса есть данные, которые не предоставляются через свойства зависимостей.- Your derived class has data that is not exposed via dependency properties.

— Ваш производный класс должен выполнять дополнительные операции инициализации, которые не могут быть выполнены путем CreateInstanceCore()простого переопределения.- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). Например, это применимо, если производный класс ISupportInitializeреализует.For example, this applies if your derived class implements ISupportInitialize.

Классы, хранящие все свои данные в свойствах зависимостей и не требующие дополнительной работы по инициализации, не нуждаются в переопределении GetCurrentValueAsFrozenCore(Freezable).Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override GetCurrentValueAsFrozenCore(Freezable).

Важно, чтобы все реализации вызывали базовую реализацию этого метода.It is essential that all implementations call the base implementation of this method. Реализации должны выполнять только работу, которая не выполняется реализацией по умолчанию.Implementations should only perform work that is not performed by the default implementation. Реализация по умолчанию создает новый Freezable CreateInstance() метод с помощью метода и создает глубокие копии незамороженных зафиксированных элементов Freezable и неполные копии всех остальных доступных для записи свойств, которые в нем содержатся локально.The default implementation creates a new Freezable using the CreateInstance() method and makes deep copies of unfrozen freezables and shallow copies of all other writable, locally set properties it contains. Если объект имеет свойства зависимостей, привязанные к данным, привязки данных копируются, но могут больше не разрешаться; Дополнительные сведения о клонировании объектов, привязанных к данным, см. в разделе Общие сведения об объектах Freezable.If the object has data-bound dependency properties, the data bindings are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. Если объект имеет анимированные свойства зависимостей, то текущее анимированное значение этих свойств копируется, но анимация не выполняется.If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

Свойства зависимостей, доступные только для чтения Freezable в, не копируются этой реализацией по умолчанию.Read-only dependency properties within a Freezable are not copied by this default implementation.

При переопределении этого метода необходимо вызвать базовую реализацию.If you do override this method, you must call the base implementation.

При копировании Freeze() значения не нужны.You do not need to Freeze() values as they are copied. Результат зафиксируется GetAsFrozen() перед возвратом.The result is frozen by GetAsFrozen() before being returned.

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

Дополнительно