Freezable.CloneCurrentValue 方法

定義

使用 Freezable 的目前值,建立它的可修改複製品 (深層複本)。

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

傳回

Freezable

目前物件的可修改複本。 即使來源的 IsFrozen 屬性為 false,複製物件的 IsFrozen 屬性仍為 true

備註

CloneCloneCurrentValue 方法會產生凍結物件的可修改複製 Freezable , (方法也會複製 Freezable 未凍結) 的物件。 複製品實際上是目前物件的深層複本。

下表摘要說明 和 CloneCurrentValue 方法之間的差異 Clone

動作 複製方法行為 CloneCurrentValue 方法行為
複製具有運算式的相依性屬性 運算式已複製,但可能不再解析。 如需詳細資訊,請參閱 Freezable 物件概觀 會複製運算式的目前值,但不會複製運算式本身。
複製動畫相依性屬性 複製屬性的基底 (非動畫) 值。 不會複製動畫。 複製屬性的目前動畫值。 不會複製動畫。

請注意,不會複製未設定屬性。 如果 unset 屬性的預設值是凍結 Freezable 的 ,該屬性值會保留在可修改的複製中。

線上程之間移動凍結

這個方法可用於線上程之間移動 Freezable 。 首先,使用 其 Freeze 方法使 Freezable 不可修改。 現在,另一個執行緒可以存取 Freezable ,並建立可存取的本機複製。

給繼承者的注意事項

這個方法會 CloneCurrentValueCore(Freezable) 使用 方法來產生複製; Freezable 覆寫 CloneCurrentValueCore(Freezable) 的實作者必須確定複本不會在建立時凍結。

適用於

另請參閱