Freezable.GetCurrentValueAsFrozenCore(Freezable) 方法

定义

使当前实例成为指定 Freezable 的冻结克隆。 如果对象具有动画依赖属性,则复制其当前的动画值。

protected:
 virtual void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void GetCurrentValueAsFrozenCore (System.Windows.Freezable sourceFreezable);
abstract member GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit
Protected Overridable Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)

参数

sourceFreezable
Freezable

要复制和冻结的 Freezable

注解

此方法由 GetCurrentValueAsFrozen 方法调用,不应直接从代码调用,除非在重写此方法时调用基实现。 若要创建当前对象的冻结副本,请调用 GetCurrentValueAsFrozen 而不是直接调用此方法。

继承者说明

如果派生自 Freezable,则可能需要重写此方法。 重写的原因包括:

  • 派生类具有未通过依赖属性公开的数据。

  • 派生类必须执行无法通过重写 CreateInstanceCore()来完成的额外初始化工作。 例如,如果派生类实现 ISupportInitialize,则这适用。

将所有数据存储在依赖属性中且不需要执行额外初始化工作的类不需要重写 GetCurrentValueAsFrozenCore(Freezable)

所有实现必须调用此方法的基实现。 实现应仅执行默认实现不执行的工作。 默认实现使用 CreateInstance() 方法创建新的 Freezable ,并创建其包含的所有其他可写本地设置属性的未冻结冻结的深层副本和浅表副本。 如果对象具有数据绑定依赖属性,则复制数据绑定,但可能不再解析;有关克隆数据绑定对象的详细信息,请参阅 Freezable 对象概述。 如果对象具有动画处理的依赖属性,则复制这些属性的当前动画值,但不会复制动画。

此默认实现不会复制 中的 Freezable 只读依赖属性。

如果重写此方法,则必须调用基实现。

无需在复制值时使用 Freeze() 值。 结果在返回之前冻结 GetAsFrozen()

适用于

另请参阅