Bagikan melalui


DependencyPropertyKey Kelas

Definisi

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 readonlyDependencyProperty 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)

Berlaku untuk

Lihat juga