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。 副本 IsFrozen 的属性设置为 true

注解

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

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

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

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

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

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

继承者说明

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

适用于

另请参阅