Freezable.GetCurrentValueAsFrozen 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建使用当前属性值的 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) 方法生成克隆。