Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Freezable.CloneCore(Freezable) Method

定義

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

protected:
 virtual void CloneCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCore (System.Windows.Freezable sourceFreezable);
abstract member CloneCore : System.Windows.Freezable -> unit
override this.CloneCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCore (sourceFreezable As Freezable)

パラメーター

sourceFreezable
Freezable Freezable Freezable Freezable

複製する対象のオブジェクト。The object to clone.

注釈

このメソッドを呼び出して、Cloneメソッドが呼び出されないコードから直接を除く中に、このメソッドをオーバーライドする基本実装を呼び出すときにします。This method is called by the Clone method and should not be called directly from your code, except when calling the base implementation while overriding this method. 現在のオブジェクトの変更可能なコピーを作成するにはCloneこのメソッドを直接呼び出す代わりにします。To create a modifiable copy of the current object, call Clone instead of calling this method directly.

注意 (継承者)

派生する場合Freezable、このメソッドをオーバーライドする必要があります。If you derive from Freezable, you may need to override this method. オーバーライドする理由として、次のとおりです。Reasons to override include the following: 派生クラスでは、依存関係プロパティを使用して接続されていないデータがあります。- Your derived class has data that is not exposed via dependency properties.

派生クラスは、単にオーバーライドすることで実現できない追加の初期化作業を実行する必要がありますCreateInstanceCore()します。- Your derived class must perform extra initialization work that cannot be accomplished by simply overriding CreateInstanceCore(). 派生クラスを実装する場合に適用されますこのなどISupportInitializeします。For example, this applies if your derived class implements ISupportInitialize.

依存関係プロパティのすべてのデータを格納して、追加の初期化作業を実行する必要がないクラスは、オーバーライドする必要はありませんCloneCore(Freezable)します。Classes that store all their data in dependency properties and that do not need to perform extra initialization work do not need to override CloneCore(Freezable).

すべての実装が、このメソッドの基本実装を呼び出すことが重要です。It is essential that all implementations call the base implementation of this method. 実装には、既定の実装で実行されていない作業のみを実行する必要があります。Implementations should only perform work that is not performed by the default implementation. 既定の実装では、内部の式を含む、すべてローカルに設定、書き込み可能なプロパティの詳細のコピーを作成します。The default implementation makes deep copies of all writable, locally set properties, including internal expressions.

オブジェクトにデータ バインドされた依存関係プロパティがある場合、式がコピーされますが、解決できなくなる可能性があります。If the object has data-bound dependency properties, the expressions are copied but might no longer resolve. データ バインド オブジェクトの複製の詳細については、次を参照してください。 Freezable オブジェクトの概要します。For more information about cloning data-bound objects, see Freezable Objects Overview. オブジェクトにアニメーション化された依存関係プロパティがある場合は、これらのプロパティの基本 (アニメーション化されていない) 値がコピーされます。If the object has animated dependency properties, the base (non-animated) value of those properties is copied. アニメーションはコピーされません。Animations are not copied.

未設定のプロパティがコピーされないも、プロパティは読み取り専用に注意してください。Note that unset properties are not copied, nor are read-only properties. このようなプロパティが固定されたである既定値を持つかどうかFreezableプロパティの値をそのまま、それ以外の場合に変更可能な複製で固定します。If such a property has a default value that is a frozen Freezable, that property value remains frozen in the otherwise modifiable clone.

次の一覧は、このメソッドの予想される動作をまとめたものです。The following list summarizes the expected behavior for this method: -生成されたコピーには、すべてのコピーが含まれています。Freezableサブオブジェクト。- The copy produced contains copies of all Freezable sub-objects.

設定を解除し、読み取り専用プロパティはコピーされません。- Unset and read-only properties are not copied.

式がコピーされます。- Expressions are copied.

-これらのサブオブジェクトの作成時に固定されます。- None of these sub-objects are frozen on creation.

-コピー自体はフリーズされません。- The copy itself is not frozen.

アニメーションはコピーされません。- Animations are not copied.

にプロパティの基本値のみは、コピー、いない現在のアニメーション化された値です。- Only property base values are copied, not current animated values.

適用対象

こちらもご覧ください