Freezable.Clone()& Freezable.CloneCurrentValue()方法

时间:2011-04-22 08:32:17

标签: wpf freezable

文档说

克隆 - “创建System.Windows.Freezable的可修改克隆,制作深拷贝 对象的值。复制对象的依赖项属性时, 此方法复制表达式(可能不再解析)但不复制动画 或者他们现在的价值观。“

CloneCurrentValue - “使用创建System.Windows.Freezable的可修改克隆(深层副本) 它的当前价值。“

这意味着两者都做深拷贝。那有什么区别?

1 个答案:

答案 0 :(得分:4)

如果我正确理解文档,Clone也会复制绑定表达式。因此,如果绑定了对象的属性,它将保留在副本中。

另一方面,

CloneCurrentValues仅复制当前值,顾名思义。不保留绑定,因此如果修改了绑定源,则不会更新副本中的值。