次の方法で共有


Freezable.GetCurrentValueAsFrozenCore(Freezable) メソッド

定義

現在のインスタンスを、指定した Freezable の固定された複製にします。 オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。

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

パラメーター

sourceFreezable
Freezable

コピーし、固定する Freezable

注釈

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

注意 (継承者)

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

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

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

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

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

内の読み取り専用の依存関係プロパティ Freezable は、この既定の実装ではコピーされません。

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

コピー時に値を指定する Freeze() 必要はありません。 結果は、返される前に GetAsFrozen() 固定されます。

適用対象

こちらもご覧ください