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 。
这些 GetAsFrozen 和 GetCurrentValueAsFrozen 方法可以提高复制性能,因为它们不会克隆 Freezable 已冻结的子对象;它们仅按引用复制它们。
下表总结了方法之间的差异GetAsFrozenGetCurrentValueAsFrozen。
操作 | GetAsFrozen 方法行为 | GetCurrentValueAsFrozen 方法行为 |
---|---|---|
复制具有表达式的依赖属性 | 该方法会引发一个 InvalidOperationException ,因为它无法 Freeze 执行该属性。 | 复制表达式的当前值,但不复制表达式本身。 |
复制动画依赖属性 | 复制属性的基本 (非动画) 值。 不会复制动画。 | 复制属性的当前动画值。 不会复制动画。 |
请注意,未复制未设置属性,也不复制只读属性。
若要创建未冻结的副本 Freezable ,请使用 CloneCurrentValue 该方法。
继承者说明
此方法使用虚拟 GetCurrentValueAsFrozenCore(Freezable) 方法生成克隆。