Freezable.Clone 方法

定義

建立這個 Freezable 的可修改複製,製作這個物件值的深層複製。 當複製這個物件的相依性屬性時,這個方法會複製運算式 (但可能已不再解析),但不會複製動畫或其目前值。

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

傳回

Freezable

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

備註

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

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

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

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

線上程之間移動凍結

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

給繼承者的注意事項

這個方法會使用 CloneCore(Freezable) 來產生複製品。 若要修改衍生類別中這個方法的行為,請覆寫 CloneCore(Freezable) 方法。

適用於

另請參閱