Freezable.CloneCurrentValue メソッド


Freezable の現在の値を使用して、変更可能な複製 (詳細コピー) を作成します。Creates a modifiable clone (deep copy) of the Freezable using its current values.

 System::Windows::Freezable ^ CloneCurrentValue();
public System.Windows.Freezable CloneCurrentValue ();
member this.CloneCurrentValue : unit -> System.Windows.Freezable
Public Function CloneCurrentValue () 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.


Clone メソッドと CloneCurrentValue メソッドは、固定された 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.

次の表は、CloneCloneCurrentValue の方法の違いをまとめたものです。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 using its Freeze method. これで、別のスレッドが Freezable にアクセスし、アクセスできるローカル複製を作成できるようになりました。Now another thread can access the Freezable and make a local clone that it can access.

注意 (継承者)

このメソッドは、CloneCurrentValueCore(Freezable) メソッドを使用して複製を作成します。CloneCurrentValueCore(Freezable) をオーバーライドする Freezable 実装者は、コピーが作成時に固定されないようにする必要があります。This method uses the CloneCurrentValueCore(Freezable) method to produce the clone; Freezable implementers who override CloneCurrentValueCore(Freezable) must ensure that the copy is not frozen on creation.