Freezable::Clone Method ()
Creates a modifiable clone of the Freezable, making deep copies of the object's values. When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their 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 CloneCore to produce the clone. To modify the behavior of this method in a derived class, override the CloneCore method.
Available since 3.0