Freezable.CloneCurrentValue Freezable.CloneCurrentValue Freezable.CloneCurrentValue Freezable.CloneCurrentValue Method

Определение

Создает редактируемую копию (глубокую копию) объекта Freezable с использованием его текущих значений.Creates a modifiable clone (deep copy) of the Freezable using its current values.

public:
 System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable

Возвраты

Изменяемая копия текущего объекта.A modifiable clone of the current object. Свойство IsFrozen клонированного объекта имеет значение false, даже если свойство IsFrozen исходного объекта имеет значение true..The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

Комментарии

Freezable Freezable Методы Clone и CloneCurrentValue создают изменяемые клоны замороженных объектов (методы также копируют объекты, которые не являются замороженными).The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). Клон фактически является глубокой копией текущего объекта.The clone is effectively a deep copy of the current object.

В следующей таблице приведены различия между Clone методами и. CloneCurrentValueThe following table summarizes the differences between the Clone and CloneCurrentValue methods.

ДействиеAction Поведение метода CloneClone method behavior Поведение метода КлонекуррентвалуеCloneCurrentValue method behavior
Копирование свойства зависимостей, имеющего выражениеCopying a dependency property that has an expression Выражение копируется, но может больше не разрешаться.The expression is copied, but might no longer resolve. Дополнительные сведения см. в разделе Общие сведения об объектах класса Freezable.For more information, see Freezable Objects Overview. Текущее значение выражения копируется, но не само выражение.The current value of the expression is copied, but not the expression itself.
Копирование анимированного свойства зависимостейCopying an animated dependency property Копируется базовое (не анимационное) значение свойства.The property's base (non-animated) value is copied. Анимации не копируются.Animations are not copied. Копируется текущее анимированное значение свойства.The property's current animated value is copied. Анимации не копируются.Animations are not copied.

Обратите внимание, что неопределенные свойства не копируются.Note that unset properties are not copied. Если неопределенное свойство имеет зафиксированное Freezableзначение по умолчанию, то значение этого свойства остается замороженным в неизменяемом клоне с другим значением.If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

Перемещение объекта Freezable между потокамиMove a Freezable Between Threads

Этот метод может быть полезен для перемещения Freezable между потоками.This method can be useful for moving a Freezable between threads. Сначала сделайте его Freezable неизменяемым Freeze с помощью метода.First, make the Freezable unmodifiable by using its Freeze method. Теперь другой поток может получить доступ Freezable к и сделать локальный клон, к которому он имеет доступ.Now another thread can access the Freezable and make a local clone that it can access.

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

Этот метод использует CloneCurrentValueCore(Freezable) метод для создания клона; разработчикам, переопределяющим CloneCurrentValueCore(Freezable) , необходимо обеспечить, чтобы копия не зависла при создании. FreezableThis method uses the CloneCurrentValueCore(Freezable) method to produce the clone; Freezable implementers who override CloneCurrentValueCore(Freezable) must ensure that the copy is not frozen on creation.

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

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