DependencyPropertyKey Kelas
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 pengidentifikasi properti dependensi untuk akses tulis terbatas ke properti dependensi baca-saja.
public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
- Warisan
-
DependencyPropertyKey
Contoh
Contoh berikut mendaftarkan properti dependensi baca-saja, dan juga menggunakan kunci untuk dua tujuan di anggota kelas lain: menerapkan dapatkan "pembungkus", dan sebagai pengidentifikasi untuk operasi penentuan yang dilindungi yang menetapkan nilai berdasarkan perhitungan nilai properti lainnya.
internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
"AquariumSize",
typeof(double),
typeof(Aquarium),
new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
Get
Return CDbl(GetValue(AquariumSizeProperty))
End Get
End Property
Keterangan
DependencyPropertyKey instans diperoleh sebagai nilai pengembalian panggilan pendaftaran properti dependensi menggunakan metode RegisterReadOnly atau RegisterAttachedReadOnly.
Jenis yang mendaftarkan properti dependensi dapat menggunakan DependencyPropertyKey dalam panggilan ke SetValue dan ClearValue yang menyesuaikan nilai properti sebagai bagian dari logika kelas. Jika diizinkan oleh tingkat akses kunci, kelas terkait juga dapat menggunakan kunci dan properti dependensi. Misalnya, Anda dapat mendeklarasikan kunci sebagai internal, dan jenis lain dalam rakitan yang sama juga dapat mengatur properti dependensi tersebut.
DependencyPropertyKey yang dikembalikan oleh pendaftaran properti dependensi baca-saja tidak boleh dibuat publik, karena mengekspos kunci membuat properti dapat diatur, sehingga mengalahkan titik mendaftarkannya sebagai properti dependensi baca-saja. Selain itu, mengekspos kunci menyebabkan ketidakcocokan antara perilaku properti dependensi yang tersedia dan implementasi pembungkus properti runtime bahasa umum (CLR), yang merupakan desain kelas yang buruk.
Alih-alih mengekspos kunci itu sendiri, Anda harus mengekspos nilai DependencyPropertyDependencyPropertyKey sebagai public static readonly
DependencyProperty di kelas Anda. Ini memungkinkan properti untuk mengembalikan pengidentifikasi properti dependensi yang valid untuk operasi sistem properti tertentu seperti menghitung nilai yang ditetapkan secara lokal. Namun, pengidentifikasi dengan demikian yang diperoleh tidak memiliki kemampuan penuh dari DependencyProperty untuk banyak operasi sistem properti.
Properti
DependencyProperty |
Mendapatkan pengidentifikasi properti dependensi yang terkait dengan pengidentifikasi properti dependensi baca-saja khusus ini. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
OverrideMetadata(Type, PropertyMetadata) |
Mengambil alih metadata properti dependensi baca-saja yang diwakili oleh pengidentifikasi properti dependensi ini. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |