DependencyProperty.AddOwner 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.
Menambahkan jenis lain sebagai pemilik properti dependensi yang telah didaftarkan ke jenis.
Overload
AddOwner(Type) |
Menambahkan jenis lain sebagai pemilik properti dependensi yang telah terdaftar. |
AddOwner(Type, PropertyMetadata) |
Menambahkan jenis lain sebagai pemilik properti dependensi yang telah terdaftar, menyediakan metadata properti dependensi untuk properti dependensi karena akan ada pada jenis pemilik yang disediakan. |
AddOwner(Type)
Menambahkan jenis lain sebagai pemilik properti dependensi yang telah terdaftar.
public:
System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty
Parameter
- ownerType
- Type
Jenis yang akan ditambahkan sebagai pemilik properti dependensi ini.
Mengembalikan
Referensi ke pengidentifikasi asli DependencyProperty yang mengidentifikasi properti dependensi. Pengidentifikasi ini harus diekspos oleh kelas penambahan public static readonly
sebagai bidang.
Keterangan
Metode ini memungkinkan sistem properti untuk mengenali properti dependensi pada jenis yang awalnya tidak mendaftarkan properti dependensi tertentu tersebut.
Biasanya, AddOwner digunakan untuk menambahkan properti dependensi ke kelas yang belum mengekspos properti dependensi tersebut melalui pewarisan kelas terkelola (pewarisan kelas akan menyebabkan properti pembungkus diwarisi oleh kelas turunan, dan dengan demikian akan memberikan akses tabel anggota umum ke properti dependensi sudah). AddOwner memungkinkan sistem properti mengenali properti dependensi pada jenis yang awalnya tidak mendaftarkan properti dependensi tersebut.
Tanda tangan ini tidak memungkinkan untuk menentukan metadata. Ketika Anda menggunakan metode ini, metadata secara otomatis dihasilkan untuk jenis baru DependencyProperty dan pemiliknya. Metadata yang dihasilkan secara otomatis adalah hasil dari metadata gabungan dari semua jenis dasar yang memiliki properti ini yang ditentukan. Jika tidak ada metadata gabungan yang tersedia, maka metadata default untuk properti akan digunakan. Jika properti didaftarkan dengan menggunakan RegisterAttached metode , maka metadata default sama dengan metadata yang dibuat saat RegisterAttached dipanggil. Jika tidak, PropertyMetadata objek dibuat dengan properti yang DefaultValue diatur ke default jenis properti dan semua properti PropertyMetadata lainnya diatur ke null
.
AddOwner(Type, PropertyMetadata) Gunakan tanda tangan jika Anda ingin menyediakan metadata untuk versi properti dependensi seperti yang ditambahkan ke jenis yang disediakan.
Nilai yang dikembalikan dari metode ini biasanya digunakan untuk mendeklarasikan dan mengekspos properti dependensi dengan menyimpan pengidentifikasi properti dependensi. Pengidentifikasi menyediakan akses ke properti dependensi jika Anda ingin memanggil API sistem properti terhadap properti dependensi, terutama karena ada pada kelas menambahkan pemilik. Nama properti yang sama untuk pemilik asli dan pemilik yang ditambahkan harus digunakan untuk menunjukkan fungsionalitas serupa. Anda harus menggunakan DependencyProperty nilai AddOwner pengembalian metode untuk menentukan pengidentifikasi properti dependensi, dan juga untuk mendeklarasikan pembungkus properti CLR, untuk properti dependensi yang ditambahkan ke jenis menggunakan AddOwner.
Metodologi AddOwner yang direkomendasikan di atas digunakan saat membuat properti dependensi yang dideklarasikan dalam WPF. Misalnya, baik Border dan Control tentukan BorderBrush
properti dependensi, yang memiliki fungsionalitas serupa.
Control mendefinisikan propertinya BorderBrush
ke sistem properti dengan memanggil AddOwner berdasarkan pemilik Border asli dan pengidentifikasi properti dependensi terdaftarnya BorderBrushProperty . Nilai AddOwner yang dikembalikan kemudian digunakan untuk membuat bidang statis DependencyProperty baru (BorderBrushProperty) untuk properti tersebut pada pemilik yang BorderBrush
ditambahkan, dan pembungkus properti juga dinyatakan.
Berlaku untuk
AddOwner(Type, PropertyMetadata)
Menambahkan jenis lain sebagai pemilik properti dependensi yang telah terdaftar, menyediakan metadata properti dependensi untuk properti dependensi karena akan ada pada jenis pemilik yang disediakan.
public:
System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty
Parameter
- ownerType
- Type
Jenis yang akan ditambahkan sebagai pemilik properti dependensi ini.
- typeMetadata
- PropertyMetadata
Metadata yang memenuhi syarat properti dependensi seperti yang ada pada jenis yang disediakan.
Mengembalikan
Referensi ke pengidentifikasi asli DependencyProperty yang mengidentifikasi properti dependensi. Pengidentifikasi ini harus diekspos oleh kelas penambahan public static readonly
sebagai bidang.
Keterangan
Metode ini memungkinkan sistem properti untuk mengenali properti dependensi pada jenis yang awalnya tidak mendaftarkan properti dependensi tertentu tersebut.
Nilai yang dikembalikan dari metode ini digunakan untuk mendeklarasikan dan mengekspos properti dependensi, terutama karena ada pada kelas menambahkan pemilik. Umumnya, nama properti yang sama untuk pemilik asli dan pemilik yang ditambahkan harus digunakan untuk menunjukkan fungsionalitas serupa. Adalah praktik yang baik untuk mengekspos pengidentifikasi, serta pembungkus properti CLR baru, untuk properti dependensi yang ditambahkan ke jenis menggunakan AddOwner.
Metodologi AddOwner yang direkomendasikan di atas digunakan saat membuat API yang dideklarasikan dalam WPF. Misalnya, baik Border dan Control tentukan BorderBrush
properti dependensi, yang memiliki fungsionalitas serupa.
Control mendefinisikan propertinya BorderBrush
ke sistem properti dengan memanggil AddOwner pemilik Border asli dan pengidentifikasi properti dependensi terdaftarnya BorderBrushProperty . Nilai AddOwner yang dikembalikan kemudian digunakan untuk membuat bidang statis DependencyProperty (BorderBrushProperty) untuk properti tersebut pada pemilik yang ditambahkan, dan BorderBrush
pembungkus properti juga dinyatakan.
Pengidentifikasi properti dependensi pemilik yang ditambahkan harus digunakan untuk operasi seperti GetValue. Namun, operasi khusus jenis yang melibatkan jenis atau instans kelas yang ditambahkan wer sebagai pemilik dengan metadata yang berbeda masih akan mengembalikan hasil yang diharapkan. Ini berlaku bahkan jika pengidentifikasi properti dependensi asli (bukan pemilik yang ditambahkan) ditentukan dalam panggilan ke metode seperti GetValue atau GetMetadata. Metadata untuk pemilik yang ditambahkan diabdikan oleh panggilan itu AddOwner sendiri, tidak selalu dirujuk secara eksklusif oleh bidang penambahan pengidentifikasi kelas pemilik. Namun demikian, ada baiknya untuk mengekspos pengidentifikasi, serta pembungkus properti CLR baru, untuk properti dependensi yang ditambahkan ke jenis menggunakan AddOwner, karena gagal melakukannya menciptakan perbedaan antara representasi CLR dan XAML dari properti Anda.
Metadata yang disediakan digabungkan dengan metadata properti untuk properti dependensi karena 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.