Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Freezable.GetCurrentValueAsFrozenCore(Freezable) Method


現在のインスタンスを、指定した Freezable の固定された複製にします。Makes the current instance a frozen clone of the specified Freezable. オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。If the object has animated dependency properties, their current animated values are copied.

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


Freezable Freezable Freezable Freezable

コピーし、固定する FreezableThe Freezable to copy and freeze.


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

依存関係プロパティのすべてのデータを格納して、追加の初期化作業を実行する必要がないクラスは、オーバーライドする必要はありませんGetCurrentValueAsFrozenCore(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 GetCurrentValueAsFrozenCore(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. 既定の実装を作成、新しいFreezableを使用して、CreateInstance()固定されていない freezable の詳細コピーがメソッドを使用し、他のすべての書き込み可能のシャロー コピー ローカルに設定されたプロパティが含まれています。The default implementation creates a new Freezable using the CreateInstance() method and makes deep copies of unfrozen freezables and shallow copies of all other writable, locally set properties it contains. オブジェクトにデータ バインドされた依存関係プロパティがある場合は、データ バインディングはコピーされますが、解決されなくなる可能性があります。データ バインド オブジェクトの複製の詳細については、次を参照してください。 Freezable オブジェクトの概要します。If the object has data-bound dependency properties, the data bindings are copied but might no longer resolve; for more information about cloning data-bound objects, see Freezable Objects Overview. オブジェクトが依存関係プロパティをアニメーション化する場合は、これらのプロパティの現在のアニメーション化された値をコピーするが、アニメーションはありません。If the object has animated dependency properties, the current animated value of those properties is copied, but the animations are not.

内の読み取り専用の依存関係プロパティをFreezableこの既定の実装ではコピーされません。Read-only dependency properties within a Freezable are not copied by this default implementation.

このメソッドをオーバーライドする場合は、基本実装を呼び出す必要があります。If you do override this method, you must call the base implementation.

必要はありませんFreeze()値をコピーします。You do not need to Freeze() values as they are copied. によって、結果が固定されているGetAsFrozen()返される前にします。The result is frozen by GetAsFrozen() before being returned.