Freezable.GetAsFrozenCore(Freezable) Freezable.GetAsFrozenCore(Freezable) Freezable.GetAsFrozenCore(Freezable) Freezable.GetAsFrozenCore(Freezable) Method


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

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


Freezable Freezable Freezable Freezable

コピーするインスタンス。The instance to copy.


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

依存関係プロパティのすべてのデータを格納して、追加の初期化作業を実行する必要がないクラスは、オーバーライドする必要はありませんGetAsFrozenCore(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 GetAsFrozenCore(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 が固定されていないと他のすべての書き込み可能のシャロー コピー、ローカルのプロパティの設定が含まれている詳細のコピーを作成します。The default implementation makes deep copies of any unfrozen freezables and shallow copies of all other writable, locally set properties it contains. オブジェクトにデータ バインドされた依存関係プロパティがある場合、式はコピーされますが、解決されなくなる可能性があります。データ バインド オブジェクトの複製の詳細については、次を参照してください。 Freezable オブジェクトの概要します。If the object has data-bound dependency properties, the expressions 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 base (non-animated) values of those properties are copied. アニメーションはコピーされません。Animations are not copied.

未設定のプロパティがコピーされないも、プロパティは読み取り専用に注意してください。Note that unset properties are not copied, nor are read-only properties.

このメソッドをオーバーライドする場合は、基本実装を呼び出す必要があります。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.