Freezable.Clone 方法

定义

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

public:
 System::Windows::Freezable ^ Clone();
public System.Windows.Freezable Clone();
member this.Clone : unit -> System.Windows.Freezable
Public Function Clone () As Freezable

返回

当前对象的可修改克隆。 即使源IsFrozen的属性为 .,克隆对象的false属性IsFrozen也是如此true

注解

CloneCloneCurrentValue方法生成冻结Freezable对象的可修改克隆(方法还克隆Freezable未冻结的对象)。 克隆实际上是当前对象的深层副本。

下表总结了方法和CloneCloneCurrentValue方法之间的差异。

Action 克隆方法行为 CloneCurrentValue 方法行为
复制具有表达式的依赖属性 复制表达式,但可能不再解析。 有关详细信息,请参阅 冻结对象概述 复制表达式的当前值,但不复制表达式本身。
复制动画依赖属性 将复制属性的基值(非动画)。 不会复制动画。 复制属性的当前动画值。 不会复制动画。

请注意,未设置属性不会复制。 如果未设置属性的默认值为冻结 Freezable,该属性值将保留在其他可修改的克隆中。

在线程之间移动可冻结

此方法可用于在线程之间移动 Freezable 。 首先,通过调用其Freezable方法使Freeze不可修改。 现在,另一个线程可以访问 Freezable 它可访问的本地 Clone 线程。

继承者说明

此方法用于 CloneCore(Freezable) 生成克隆。 若要修改派生类中此方法的行为,请重写该方法 CloneCore(Freezable)

适用于

另请参阅