3

文件说

克隆- “创建 System.Windows.Freezable 的可修改克隆,制作对象值的深层副本。复制对象的依赖属性时,此方法复制表达式(可能不再解析)但不复制动画或其当前值。”

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

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

4

1 回答 1

4

如果我正确理解了文档,Clone还可以复制绑定表达式。因此,如果对象的某个属性已绑定,则它在副本中仍处于绑定状态。

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

于 2011-04-22T09:01:04.073 回答