Freezable.Clone Freezable.Clone Freezable.Clone Freezable.Clone Method

定義

Freezable の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of the Freezable, making deep copies of the object's values. このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

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

戻り値

現在のオブジェクトの変更可能な複製。A modifiable clone of the current object. 複製されたオブジェクトの IsFrozen プロパティは、ソースの IsFrozen プロパティが true. である場合でも、false になります。The cloned object's IsFrozen property is false even if the source's IsFrozen property is true.

注釈

メソッドCloneCloneCurrentValueメソッドは、固定Freezableされたオブジェクトの変更可能なFreezable複製を生成します (メソッドは、固定されていないオブジェクトも複製します)。The Clone and CloneCurrentValue methods produce modifiable clones of frozen Freezable objects (the methods also clone Freezable objects that are not frozen). 複製は、事実上、現在のオブジェクトの詳細コピーです。The clone is effectively a deep copy of the current object.

次の表は、メソッドとClone CloneCurrentValueメソッドの違いをまとめたものです。The following table summarizes the differences between the Clone and CloneCurrentValue methods.

アクションAction 複製メソッドの動作Clone method behavior CloneCurrentValue メソッドの動作CloneCurrentValue method behavior
式を持つ依存関係プロパティのコピーCopying a dependency property that has an expression 式はコピーされますが、解決されなくなる可能性があります。The expression is copied, but might no longer resolve. 詳細については、「Freezable オブジェクトの概要」を参照してください。For more information, see Freezable Objects Overview. 式の現在の値はコピーされますが、式自体はコピーされません。The current value of the expression is copied, but not the expression itself.
アニメーション化した依存関係プロパティのコピーCopying an animated dependency property プロパティの基本 (アニメーション化されていない) 値がコピーされます。The property's base (non-animated) value is copied. アニメーションはコピーされません。Animations are not copied. プロパティの現在のアニメーション化された値がコピーされます。The property's current animated value is copied. アニメーションはコピーされません。Animations are not copied.

未設定のプロパティはコピーされないことに注意してください。Note that unset properties are not copied. 設定されていないプロパティの既定値が固定Freezableされている場合、そのプロパティ値は変更可能な複製でも固定されたままになります。If an unset property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

スレッド間での Freezable の移動Move a Freezable Between Threads

このメソッドは、スレッド間でをFreezable移動する場合に便利です。This method can be useful for moving a Freezable between threads. 最初に、 FreezeメソッドFreezableを呼び出して変更不可能な状態にします。First, make the Freezable unmodifiable by calling its Freeze method. これで、別のスレッドFreezableがにアクセスしClone 、アクセスできるようにローカルを作成できるようになりました。Now another thread can access the Freezable and make a local Clone that it can access.

注意 (継承者)

このメソッドはCloneCore(Freezable) 、を使用して複製を作成します。This method uses CloneCore(Freezable) to produce the clone. 派生クラスでこのメソッドの動作を変更するには、 CloneCore(Freezable)メソッドをオーバーライドします。To modify the behavior of this method in a derived class, override the CloneCore(Freezable) method.

適用対象

こちらもご覧ください