Freezable.GetAsFrozenCore(Freezable) メソッド

定義

基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。

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

コピーするインスタンス。

注釈

このメソッドは メソッドによって呼び出され、このメソッドを GetAsFrozen オーバーライドするときに基本実装を呼び出す場合を除き、コードから直接呼び出さないでください。 現在のオブジェクトの固定されたコピーを作成するには、このメソッドを直接呼び出す代わりに を呼び GetAsFrozen 出します。

注意 (継承者)

から Freezable 派生した場合は、このメソッドをオーバーライドする必要がある場合があります。 オーバーライドする理由は次のとおりです。

  • 派生クラスには、依存関係プロパティを介して公開されないデータがあります。

  • 派生クラスでは、 をオーバーライドするだけでは実行できない追加の初期化作業を実行する CreateInstanceCore()必要があります。 たとえば、派生クラスが を実装している ISupportInitialize場合、これは適用されます。

すべてのデータを依存関係プロパティに格納し、追加の初期化作業を実行する必要がないクラスは、 をオーバーライド GetAsFrozenCore(Freezable)する必要はありません。

すべての実装で、このメソッドの基本実装を呼び出す必要があります。 実装では、既定の実装では実行されない作業のみを実行する必要があります。 既定の実装では、その他のすべての書き込み可能なプロパティをローカルに設定して、すべての非凍結 freezable のディープ コピーとシャロー コピーを作成します。 オブジェクトにデータ バインド依存関係プロパティがある場合、式はコピーされますが、解決されない可能性があります。データ バインド オブジェクトの複製の詳細については、「 Freezable オブジェクトの概要」を参照してください。 オブジェクトにアニメーション化された依存関係プロパティがある場合、それらのプロパティの基本 (アニメーション化されていない) 値がコピーされます。 アニメーションはコピーされません。

未設定のプロパティはコピーされず、読み取り専用プロパティでもありません。

このメソッドをオーバーライドする場合は、基本実装を呼び出す必要があります。

値はコピーされるため、 Freeze() 必要ありません。 結果は、返される前に によって GetAsFrozen() 固定されます。

適用対象

こちらもご覧ください