Freezable.CloneCurrentValueCore(Freezable) Метод

Определение

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

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

Параметры

sourceFreezable
Freezable

Элемент привязки Freezable, точную копию которого необходимо создать.

Комментарии

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

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

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

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

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

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

Если объект имеет анимированные свойства зависимостей, то текущее анимированное значение этих свойств копируется, но анимация не выполняется.

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

В следующем списке приводится сводка ожидаемого поведения для этого метода.

— Созданная копия содержит копии всех Freezable подобъектов.

-Не задавайте и свойства только для чтения не копируются.

— Если свойство анимировано, копируется его текущее значение, а сама анимация — нет.

— Ни один из этих вложенных объектов не замораживается при создании.

— Сама копия не заморожена.

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

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