Freezable.CloneCurrentValueCore(Freezable) Metode

Definisi

Menjadikan instans sebagai klon yang dapat dimodifikasi (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti saat ini.

protected:
 virtual void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);
protected virtual void CloneCurrentValueCore(System.Windows.Freezable sourceFreezable);
abstract member CloneCurrentValueCore : System.Windows.Freezable -> unit
override this.CloneCurrentValueCore : System.Windows.Freezable -> unit
Protected Overridable Sub CloneCurrentValueCore (sourceFreezable As Freezable)

Parameter

sourceFreezable
Freezable

Yang Freezable akan dikloning.

Keterangan

Metode ini dipanggil oleh CloneCurrentValue metode dan tidak boleh dipanggil langsung dari kode Anda, kecuali ketika memanggil implementasi dasar saat mengambil alih metode ini. Untuk membuat salinan objek saat ini yang dapat dimodifikasi, panggil CloneCurrentValue 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 CloneCurrentValueCore(Freezable).

Sangat penting bahwa semua implementasi memanggil implementasi dasar metode ini. Implementasi hanya boleh melakukan pekerjaan yang tidak dilakukan oleh implementasi default. Implementasi default membuat salinan mendalam dari semua properti yang dapat ditulis dan diatur secara lokal. Jika objek berisi properti dependensi dengan ekspresi (seperti pengikatan data), nilai ekspresi saat ini disalin tetapi bukan ekspresi itu sendiri.

Jika objek memiliki properti dependensi animasi, nilai animasi properti tersebut saat ini disalin, tetapi animasinya tidak.

Perhatikan bahwa properti yang tidak diatur tidak disalin, juga bukan properti baca-saja. Jika properti seperti itu memiliki nilai default yang merupakan nilai properti yang dibekukan Freezable, nilai properti tersebut tetap dibekukan dalam klon yang dapat dimodifikasi.

Daftar berikut ini meringkas perilaku yang diharapkan untuk metode ini.

  • Salinan yang dihasilkan berisi salinan semua Freezable sub-objek.

  • Properti tidak diatur dan baca-saja tidak disalin.

  • Jika properti dianimasikan, nilainya saat ini disalin, tetapi animasi itu sendiri tidak.

  • Tidak satu pun dari sub-objek ini dibekukan pada pembuatan.

  • Salinan itu sendiri tidak dibekukan.

Berlaku untuk

Lihat juga