Freezable::CloneCurrentValue Method ()
Creates a modifiable clone (deep copy) of the Freezable using its current values.
Assembly: WindowsBase (in WindowsBase.dll)
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.
The following table summarizes the differences between the Clone and CloneCurrentValue methods.
Action | Clone method behavior | CloneCurrentValue method behavior |
|---|---|---|
Copying a dependency property that has an expression | The expression is copied, but might no longer resolve. 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. If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.
Notes to Inheritors:
This method uses the CloneCurrentValueCore method to produce the clone; Freezable implementers who override CloneCurrentValueCore must ensure that the copy is not frozen on creation.
Available since 3.0