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 プロパティは、ソースの IsFrozen プロパティが false の場合でも、true です。

注釈

メソッドとCloneCurrentValueメソッドはClone、フリーズFreezableされたオブジェクトの変更可能なクローンを生成します (このメソッドでは、固定されていないオブジェクトも複製Freezableします)。 複製は実質的に現在のオブジェクトのディープ コピーです。

次の表は、メソッドとCloneCurrentValueメソッドの違いをCloneまとめたものです。

操作 複製メソッドの動作 CloneCurrentValue メソッドの動作
式を含む依存関係プロパティのコピー 式はコピーされますが、解決されない可能性があります。 詳細については、「Freezable オブジェクトの概要」を参照してください。 式の現在の値はコピーされますが、式自体はコピーされません。
アニメーション化された依存関係プロパティのコピー プロパティの基本 (アニメーション化されていない) 値がコピーされます。 アニメーションはコピーされません。 プロパティの現在のアニメーション値がコピーされます。 アニメーションはコピーされません。

未設定のプロパティはコピーされないことに注意してください。 設定されていないプロパティに、固定 Freezableされた既定値がある場合、そのプロパティ値は、それ以外の変更可能な複製で固定されたままです。

スレッド間で Freezable を移動する

このメソッドは、スレッド間の移動に Freezable 役立ちます。 まず、そのメソッドを Freezable 使用して変更不可にします Freeze 。 これで、別のスレッドが Freezable アクセスし、アクセスできるローカル 複製を作成できるようになりました。

注意 (継承者)

このメソッドは、このメソッドを CloneCurrentValueCore(Freezable) 使用して複製を生成します Freezable 。オーバーライド CloneCurrentValueCore(Freezable) する実装者は、作成時にコピーが固定されていないことを確認する必要があります。

適用対象

こちらもご覧ください