DependencyProperty.OverrideMetadata Metode

Definisi

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.

key
DependencyPropertyKey

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.

Berlaku untuk