DependencyPropertyKey.DependencyProperty Properti
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.
Mendapatkan pengidentifikasi properti dependensi yang terkait dengan pengidentifikasi properti dependensi baca-saja khusus ini.
public:
property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty
Nilai Properti
Pengidentifikasi properti dependensi yang relevan.
Contoh
Contoh berikut memanggil DependencyProperty untuk mengekspos pengidentifikasi DependencyProperty (AquariumGraphicProperty
) untuk properti dependensi baca-saja AquariumGraphic
pada kelas. Contohnya juga menunjukkan pembuatan DependencyPropertyKey (sebagai anggota internal) dan mendapatkan aksesor untuk AquariumGraphic
.
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
Nilai DependencyProperty memungkinkan pengidentifikasi properti baca-saja untuk berpartisipasi dalam operasi sistem properti umum menggunakan beberapa antarmuka yang sama seperti yang digunakan untuk properti dependensi baca-tulis.
Untuk mengimplementasikan aksesor properti get untuk properti dependensi baca-saja, Anda harus membuat dan mengekspos pengidentifikasi DependencyProperty di kelas Anda. Ini melayani dua tujuan:
Kelas Anda sendiri memerlukan pengidentifikasi DependencyProperty untuk mengimplementasikan aksesor get untuk pembungkus properti. Anda menggunakan DependencyProperty sebagai parameter untuk panggilan GetValue yang mengimplementasikan get accessor.
DependencyProperty pengidentifikasi mengekspos properti dependensi Anda ke sistem properti sehingga metode lain yang mengandalkan metadata dapat mengaksesnya dalam bentuk standar. Misalnya, jika Anda memanggil GetLocalValueEnumerator pada beberapa DependencyObject dan mendapatkan enumerasi properti yang ditetapkan secara lokal (nilai dan pengidentifikasi) pengidentifikasi yang dikembalikan untuk properti dependensi baca-saja akan menjadi nilai DependencyProperty Anda daripada kunci. Tidak mengekspos pengidentifikasi DependencyProperty tidak meningkatkan keamanan properti dependensi baca-saja Anda dengan cara apa pun, itu hanya membuat operasi yang melibatkan properti Anda lebih canggung baik untuk kelas turunan dan instans kelas berikutnya.
Untuk mengekspos pengidentifikasi DependencyProperty di kelas, Anda memanggil DependencyProperty langsung di kunci Anda. Gunakan nilai ini untuk membuat pengidentifikasi public static readonly
DependencyProperty pada kelas , yang paralel dengan DependencyPropertyKey.