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 物件概觀。 如果物件具有動畫相依性屬性,則會複製這些屬性的基底 (非動畫) 值。 不會複製動畫。

請注意,不會複製未設定屬性,也不是唯讀屬性。

如果您覆寫這個方法,則必須呼叫基底實作。

您不需要 Freeze() 複製值。 傳回之前,結果會凍結 GetAsFrozen()

適用於

另請參閱