Freezable.CloneCurrentValueCore(Freezable) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。
protected:
virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore (System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)
パラメーター
注釈
このメソッドは メソッドによって呼び出され、このメソッドを CloneCurrentValue オーバーライドするときに基本実装を呼び出す場合を除き、コードから直接呼び出さないでください。 現在のオブジェクトの変更可能なコピーを作成するには、このメソッドを直接呼び出す代わりに を呼び CloneCurrentValue 出します。
注意 (継承者)
から Freezable派生した場合は、このメソッドをオーバーライドする必要がある場合があります。 オーバーライドする理由は次のとおりです。
派生クラスには、依存関係プロパティを介して公開されないデータがあります。
派生クラスでは、 をオーバーライドするだけでは実行できない追加の初期化作業を実行する CreateInstanceCore()必要があります。 たとえば、派生クラスが を実装している場合、 ISupportInitializeこれは適用されます。
すべてのデータを依存関係プロパティに格納し、追加の初期化作業を実行する必要がないクラスは、 をオーバーライド CloneCurrentValueCore(Freezable)する必要はありません。
すべての実装で、このメソッドの基本実装を呼び出す必要があります。 実装では、既定の実装では実行されない作業のみを実行する必要があります。 既定の実装では、すべての書き込み可能でローカルに設定されたプロパティのディープ コピーが作成されます。 オブジェクトに式 (データ バインディングなど) を含む依存関係プロパティが含まれている場合、式の現在の値はコピーされますが、式自体はコピーされません。
オブジェクトにアニメーション化された依存関係プロパティがある場合、それらのプロパティの現在のアニメーション値はコピーされますが、アニメーションはコピーされません。
未設定のプロパティはコピーされず、読み取り専用プロパティではないことに注意してください。 このようなプロパティの既定値が固定 Freezableされている場合、そのプロパティ値は、それ以外の変更可能な複製では固定されたままです。
次の一覧は、このメソッドで想定される動作をまとめたものです。
生成されたコピーには、すべての Freezable サブオブジェクトのコピーが含まれます。
設定解除プロパティと読み取り専用プロパティはコピーされません。
プロパティがアニメーション化されている場合、その現在の値はコピーされますが、アニメーション自体はコピーされません。
これらのサブオブジェクトは、作成時に固定されません。
コピー自体は固定されません。
適用対象
こちらもご覧ください
.NET