DependencyProperty.OverrideMetadata Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan metadata alternatif untuk properti dependensi ini ketika ada pada instans jenis tertentu, versus metadata yang disediakan dalam pendaftaran properti dependensi awal.
Overload
| Nama | Deskripsi |
|---|---|
| OverrideMetadata(Type, PropertyMetadata) |
Menentukan metadata alternatif untuk properti dependensi ini ketika ada pada instans jenis tertentu, mengambil alih metadata yang ada untuk properti dependensi seperti yang diwarisi dari jenis dasar. |
| OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Menyediakan metadata alternatif untuk properti dependensi baca-saja ketika ada pada instans jenis tertentu, menggantikan metadata yang disediakan dalam pendaftaran properti dependensi awal. Anda harus meneruskan DependencyPropertyKey properti dependensi baca-saja untuk menghindari peningkatan pengecualian. |
OverrideMetadata(Type, PropertyMetadata)
Menentukan metadata alternatif untuk properti dependensi ini ketika ada pada instans jenis tertentu, mengambil alih metadata yang ada untuk properti dependensi seperti yang diwarisi dari jenis dasar.
public:
void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata)
Parameter
- forType
- Type
Jenis di mana properti dependensi ini diwariskan dan di mana metadata alternatif yang disediakan akan diterapkan.
- typeMetadata
- PropertyMetadata
Metadata yang akan diterapkan ke properti dependensi pada jenis penimpaan.
Pengecualian
Upaya dilakukan untuk mengambil alih metadata pada properti dependensi baca-saja (operasi tersebut tidak dapat dilakukan menggunakan tanda tangan ini).
Metadata sudah ditetapkan untuk properti dependensi karena ada pada jenis yang disediakan.
Keterangan
Metadata properti dependensi harus ditimpa sebelum sistem properti menggunakan properti dependensi. Ini sama dengan waktu instans tertentu dibuat menggunakan kelas yang mendaftarkan properti dependensi. Panggilan ke OverrideMetadata hanya boleh dilakukan dalam konstruktor statis jenis yang menyediakan dirinya sebagai forType parameter metode ini, atau melalui instans serupa. Mencoba mengubah metadata setelah instans jenis pemilik ada tidak akan menimbulkan pengecualian, tetapi akan mengakibatkan perilaku yang tidak konsisten dalam sistem properti.
Setelah metadata untuk penimpaan kelas turunan tertentu dibuat dengan metode ini, upaya berikutnya untuk mengambil alih metadata pada kelas turunan yang sama ini akan menimbulkan pengecualian.
Metadata yang disediakan digabungkan dengan metadata properti untuk properti dependensi seperti yang ada pada pemilik dasar. Setiap karakteristik yang ditentukan dalam metadata dasar asli akan bertahan; hanya karakteristik yang secara khusus diubah dalam metadata baru yang akan mengambil alih karakteristik metadata dasar. Beberapa karakteristik seperti DefaultValue diganti jika ditentukan dalam metadata baru. Lainnya, seperti PropertyChangedCallback, digabungkan. Pada akhirnya, perilaku penggabungan tergantung pada jenis metadata properti yang digunakan untuk penimpaan, sehingga perilaku yang dijelaskan di sini adalah untuk kelas metadata properti yang ada yang digunakan oleh properti dependensi WPF. Untuk detailnya, lihat Metadata Properti Dependensi dan Metadata Properti Kerangka Kerja.
Berlaku untuk
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)
Menyediakan metadata alternatif untuk properti dependensi baca-saja ketika ada pada instans jenis tertentu, menggantikan metadata yang disediakan dalam pendaftaran properti dependensi awal. Anda harus meneruskan DependencyPropertyKey properti dependensi baca-saja untuk menghindari peningkatan pengecualian.
public:
void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::DependencyPropertyKey ^ key);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata, System.Windows.DependencyPropertyKey key);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata * System.Windows.DependencyPropertyKey -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata, key As DependencyPropertyKey)
Parameter
- forType
- Type
Jenis di mana properti dependensi ini diwariskan dan di mana metadata alternatif yang disediakan akan diterapkan.
- typeMetadata
- PropertyMetadata
Metadata yang akan diterapkan ke properti dependensi pada jenis penimpaan.
Kunci akses untuk properti dependensi baca-saja.
Keterangan
Tanda tangan ini menyediakan implementasi yang mendasar untuk metode pengidentifikasi properti dependensi baca-saja (DependencyPropertyKey). Jika mengambil alih metadata untuk properti dependensi baca-tulis, gunakan OverrideMetadata(Type, PropertyMetadata).
Metadata properti dependensi harus ditimpa sebelum sistem properti menggunakan properti dependensi. Ini sama dengan waktu objek tertentu dibuat untuk kelas yang mendaftarkan properti dependensi. Panggilan ke OverrideMetadata hanya boleh dilakukan dalam konstruktor statis jenis yang menyediakan dirinya sebagai forType parameter metode ini, atau melalui instans serupa. Mencoba mengubah metadata setelah instans jenis pemilik ada tidak akan menimbulkan pengecualian, tetapi akan mengakibatkan perilaku yang tidak konsisten dalam sistem properti.
Setelah metadata untuk penimpaan kelas turunan tertentu dibuat dengan metode ini, upaya berikutnya untuk mengambil alih metadata pada kelas turunan yang sama ini akan menimbulkan pengecualian.
Metadata yang disediakan digabungkan dengan metadata properti untuk properti dependensi seperti yang ada pada pemilik dasar. Setiap karakteristik yang ditentukan dalam metadata dasar asli akan bertahan; hanya karakteristik yang secara khusus diubah dalam metadata baru yang akan mengambil alih karakteristik metadata dasar. Beberapa karakteristik seperti DefaultValue diganti jika ditentukan dalam metadata baru. Lainnya, seperti PropertyChangedCallback, digabungkan. Perilaku penggabungan tergantung pada jenis metadata properti yang digunakan untuk penimpaan. Untuk detailnya, lihat Metadata Properti Dependensi dan Metadata Properti Kerangka Kerja.