Freezable.GetCurrentValueAsFrozenCore(Freezable) Metode

Definisi

Menjadikan instans saat ini sebagai klon beku dari yang ditentukan Freezable. Jika objek memiliki properti dependensi animasi, nilai animasinya saat ini akan disalin.

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)

Parameter

sourceFreezable
Freezable

Untuk Freezable menyalin dan membeku.

Keterangan

Metode ini dipanggil oleh GetCurrentValueAsFrozen metode dan tidak boleh dipanggil langsung dari kode Anda, kecuali ketika memanggil implementasi dasar saat mengambil alih metode ini. Untuk membuat salinan beku objek saat ini, panggil GetCurrentValueAsFrozen alih-alih memanggil metode ini secara langsung.

Catatan Bagi Inheritor

Jika Anda berasal dari Freezable, Anda mungkin perlu mengambil alih metode ini. Alasan untuk mengambil alih termasuk yang berikut ini:

  • Kelas turunan Anda memiliki data yang tidak diekspos melalui properti dependensi.

  • Kelas turunan Anda harus melakukan pekerjaan inisialisasi tambahan yang tidak dapat dicapai hanya dengan mengesampingkan CreateInstanceCore(). Misalnya, ini berlaku jika kelas turunan Anda mengimplementasikan ISupportInitialize.

Kelas yang menyimpan semua data mereka dalam properti dependensi dan yang tidak perlu melakukan pekerjaan inisialisasi tambahan tidak perlu mengambil alih GetCurrentValueAsFrozenCore(Freezable).

Sangat penting bahwa semua implementasi memanggil implementasi dasar metode ini. Implementasi hanya boleh melakukan pekerjaan yang tidak dilakukan oleh implementasi default. Implementasi default menciptakan baru Freezable menggunakan CreateInstance() metode dan membuat salinan mendalam dari freezable yang tidak dibekukan dan salinan dangkal dari semua properti lain yang dapat ditulis dan diatur secara lokal yang dikandungnya. Jika objek memiliki properti dependensi terikat data, pengikatan data disalin tetapi mungkin tidak lagi diselesaikan; untuk informasi selengkapnya tentang mengkloning objek terikat data, lihat Gambaran Umum Objek yang Dapat Dibekukan. Jika objek memiliki properti dependensi animasi, nilai animasi properti tersebut saat ini disalin, tetapi animasinya tidak.

Properti dependensi baca-saja dalam Freezable tidak disalin oleh implementasi default ini.

Jika Anda mengambil alih metode ini, Anda harus memanggil implementasi dasar.

Anda tidak perlu nilai Freeze() saat disalin. Hasilnya dibekukan sebelum GetAsFrozen() dikembalikan.

Berlaku untuk

Lihat juga