This method is called by the CloneCurrentValue method and should not be called directly from your code, except when calling the base implementation while overriding this method. To create a modifiable copy of the current object, call CloneCurrentValue instead of calling this method directly.
Notes to Implementers:
If you derive from Freezable you may need to override this method. Reasons to override include:
Your subclass has data that is not exposed via dependency properties.
Your subclass must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore. For example, if your subclass implements ISupportInitialize.
Classes that store all their data in dependency properties and that don't need to perform extra initialization work do not need to override CloneCurrentValueCore.
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. The default implementation makes deep copies of all writable, locally set properties. If this object contains dependency properties with expressions (such as a data binding), the current value of the expression is copied but not the expression itself.
If this object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.
Note that unset properties are not copied, nor are read-only properties. If such a property has a default value that is a frozen Freezable, that property value will remain frozen in the otherwise modifiable clone.
The following list summarizes the expected behavior for this method.
The copy produced should contain copies of all Freezable sub-objects.
Unset and read-only properties should not be copied.
If a property is animated, its current value should be copied, but the animation itself should not be.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.