Freezable.GetCurrentValueAsFrozenCore(Freezable) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將目前執行個體設為所指定 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)
參數
備註
此方法是由 GetCurrentValueAsFrozen 方法呼叫,不應直接從程式碼呼叫,除非在覆寫此方法時呼叫基底實作。 若要建立目前 物件的凍結複本,請呼叫 GetCurrentValueAsFrozen ,而不是直接呼叫此方法。
給繼承者的注意事項
如果您衍生自 Freezable ,您可能需要覆寫此方法。 覆寫的原因包括:
衍生類別的資料不會透過相依性屬性公開。
您的衍生類別必須執行無法完成的額外初始化工作,只要覆 CreateInstanceCore() 寫 即可。 例如,如果您的衍生類別實作 ISupportInitialize ,
將所有資料儲存在相依性屬性中且不需要執行額外初始化工作的類別不需要覆寫 GetCurrentValueAsFrozenCore(Freezable) 。
所有實作都呼叫此方法的基底實作非常重要。 實作應該只會執行預設實作未執行的工作。 預設實作會使用 CreateInstance() 方法建立新的 Freezable ,並建立所有其他可寫入、本機設定屬性的深層凍結複本和淺層複本。 如果物件具有資料系結相依性屬性,則會複製資料系結,但可能不再解析;如需複製資料系結物件的詳細資訊,請參閱 Freezable 物件概觀。 如果物件具有動畫相依性屬性,則會複製這些屬性的目前動畫值,但動畫則不會。
這個預設實作不會複製 中的 Freezable 唯讀相依性屬性。
如果您覆寫這個方法,則必須呼叫基底實作。
您不需要 Freeze() 複製值。 傳回之前,結果會凍結 GetAsFrozen() 。