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)

所有實作都必須呼叫此方法的基礎實作。 實作應只執行預設實作未執行的工作。 預設實作會使用此Freezable方法建立新CreateInstance()版本,並深層複製未凍結的可凍結物件,以及所有可寫入、本地設定屬性的淺層複製。 若物件具有資料綁定依賴屬性,資料綁定會被複製,但可能不再解析;欲了解更多關於克隆資料綁定物件的資訊,請參閱 可凍結物件概述。 如果物件有動畫相依屬性,這些屬性目前的動畫值會被複製,但動畫本身不會。

此預設實作不會複製 a Freezable 內的唯讀依賴屬性。

如果你真的覆寫了這個方法,你必須呼叫基礎實作。

你不需要複製 Freeze() 值。 結果會先冷凍 GetAsFrozen() 保存再回來。

適用於

另請參閱