Freezable.GetCurrentValueAsFrozen 方法

定义

使用当前属性值创建 Freezable 的冻结副本。 由于副本已冻结,因此将通过引用复制任何冻结的子对象。

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

返回

Freezable

Freezable 的冻结副本。 副本的 IsFrozen 属性设置为 true

注解

使用此方法类似于使用 CloneCurrentValue 该方法创建副本,然后使用该方法冻结副本 Freeze

这些 GetAsFrozenGetCurrentValueAsFrozen 方法可以提高复制性能,因为它们不会克隆 Freezable 已冻结的子对象;它们仅按引用复制它们。

下表总结了方法之间的差异GetAsFrozenGetCurrentValueAsFrozen

操作 GetAsFrozen 方法行为 GetCurrentValueAsFrozen 方法行为
复制具有表达式的依赖属性 该方法会引发一个 InvalidOperationException ,因为它无法 Freeze 执行该属性。 复制表达式的当前值,但不复制表达式本身。
复制动画依赖属性 复制属性的基本 (非动画) 值。 不会复制动画。 复制属性的当前动画值。 不会复制动画。

请注意,未复制未设置属性,也不复制只读属性。

若要创建未冻结的副本 Freezable ,请使用 CloneCurrentValue 该方法。

继承者说明

此方法使用虚拟 GetCurrentValueAsFrozenCore(Freezable) 方法生成克隆。

适用于

另请参阅