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.

protected:
 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)

パラメーター

sourceFreezable
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.

適用対象

こちらもご覧ください