Freezable.CloneCurrentValue 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 Freezable 的目前值,建立它的可修改複製品 (深層複本)。
public:
System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () As Freezable
傳回
目前物件的可修改複本。 即使來源的 IsFrozen 屬性為 false
,複製物件的 IsFrozen 屬性仍為 true
。
備註
Clone和 CloneCurrentValue 方法會產生凍結物件的可修改複製 Freezable , (方法也會複製 Freezable 未凍結) 的物件。 複製品實際上是目前物件的深層複本。
下表摘要說明 和 CloneCurrentValue 方法之間的差異 Clone 。
動作 | 複製方法行為 | CloneCurrentValue 方法行為 |
---|---|---|
複製具有運算式的相依性屬性 | 運算式已複製,但可能不再解析。 如需詳細資訊,請參閱 Freezable 物件概觀。 | 會複製運算式的目前值,但不會複製運算式本身。 |
複製動畫相依性屬性 | 複製屬性的基底 (非動畫) 值。 不會複製動畫。 | 複製屬性的目前動畫值。 不會複製動畫。 |
請注意,不會複製未設定屬性。 如果 unset 屬性的預設值是凍結 Freezable 的 ,該屬性值會保留在可修改的複製中。
線上程之間移動凍結
這個方法可用於線上程之間移動 Freezable 。 首先,使用 其 Freeze 方法使 Freezable 不可修改。 現在,另一個執行緒可以存取 Freezable ,並建立可存取的本機複製。
給繼承者的注意事項
這個方法會 CloneCurrentValueCore(Freezable) 使用 方法來產生複製; Freezable 覆寫 CloneCurrentValueCore(Freezable) 的實作者必須確定複本不會在建立時凍結。