DependencyProperty.RegisterReadOnly 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.
Mendaftarkan properti dependensi sebagai properti dependensi baca-saja.
Overload
| Nama | Deskripsi |
|---|---|
| RegisterReadOnly(String, Type, Type, PropertyMetadata) |
Mendaftarkan properti dependensi baca-saja, dengan jenis properti, jenis pemilik, dan metadata properti yang ditentukan. |
| RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Mendaftarkan properti dependensi baca-saja, dengan jenis properti yang ditentukan, jenis pemilik, metadata properti, dan panggilan balik validasi. |
RegisterReadOnly(String, Type, Type, PropertyMetadata)
Mendaftarkan properti dependensi baca-saja, dengan jenis properti, jenis pemilik, dan metadata properti yang ditentukan.
public:
static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyPropertyKey
Parameter
- name
- String
Nama properti dependensi yang akan didaftarkan.
- propertyType
- Type
Jenis properti.
- ownerType
- Type
Jenis pemilik yang mendaftarkan properti dependensi.
- typeMetadata
- PropertyMetadata
Metadata properti untuk properti dependensi.
Mengembalikan
Kunci properti dependensi yang harus digunakan untuk mengatur nilai bidang baca-saja statis di kelas Anda, yang kemudian digunakan untuk mereferensikan properti dependensi.
Contoh
Contoh berikut mendaftarkan AquariumSize properti dependensi sebagai baca-saja. Contoh mendefinisikan AquariumSizeKey sebagai kunci internal (sehingga kelas lain dalam perakitan dapat mengambil alih metadata) dan mengekspos pengidentifikasi properti dependensi berdasarkan kunci tersebut sebagai AquariumSizeProperty. Selain itu, pembungkus dibuat untuk AquariumSize, hanya dengan aksesor get.
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
Metode ini mengembalikan jenis DependencyPropertyKey, sedangkan RegisterAttached mengembalikan jenis DependencyProperty. Biasanya, kunci yang mewakili properti baca-saja tidak dibuat publik, karena kunci dapat digunakan untuk mengatur nilai properti dependensi dengan memanggil SetValue(DependencyPropertyKey, Object). Desain kelas Anda akan memengaruhi kebutuhan Anda, tetapi umumnya disarankan untuk membatasi akses dan visibilitas dari salah satu DependencyPropertyKey hingga hanya bagian kode Anda yang diperlukan untuk mengatur properti dependensi tersebut sebagai bagian dari logika kelas atau aplikasi. Disarankan juga agar Anda mengekspos pengidentifikasi properti dependensi untuk properti dependensi baca-saja, dengan mengekspos nilai DependencyPropertyKey.DependencyProperty sebagai public static readonly bidang di kelas Anda.
Properti dependensi baca-saja adalah skenario yang cukup khas baik di API yang ada maupun untuk skenario kustomisasi, karena fitur WPF lainnya mungkin memerlukan properti dependensi meskipun properti tersebut tidak dimaksudkan untuk diatur oleh penelepon. Anda dapat menggunakan nilai properti dependensi baca-saja sebagai dasar untuk operasi sistem properti lain yang mengambil properti dependensi, seperti mendasaar Trigger pada properti dependensi dalam gaya.
Untuk informasi selengkapnya tentang pendaftaran properti dependensi, lihat DependencyProperty.
Berlaku untuk
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Mendaftarkan properti dependensi baca-saja, dengan jenis properti yang ditentukan, jenis pemilik, metadata properti, dan panggilan balik validasi.
public:
static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey
Parameter
- name
- String
Nama properti dependensi yang akan didaftarkan.
- propertyType
- Type
Jenis properti.
- ownerType
- Type
Jenis pemilik yang mendaftarkan properti dependensi.
- typeMetadata
- PropertyMetadata
Metadata properti untuk properti dependensi.
- validateValueCallback
- ValidateValueCallback
Referensi ke panggilan balik yang dibuat pengguna yang harus melakukan validasi kustom dari nilai properti dependensi di luar validasi jenis umum.
Mengembalikan
Kunci properti dependensi yang harus digunakan untuk mengatur nilai bidang baca-saja statis di kelas Anda, yang kemudian digunakan untuk mereferensikan properti dependensi nanti.
Keterangan
Metode ini mengembalikan jenis DependencyPropertyKey, sedangkan RegisterAttached mengembalikan jenis DependencyProperty. Biasanya, kunci yang mewakili properti baca-saja tidak dibuat publik, karena kunci dapat digunakan untuk mengatur nilai properti dependensi dengan memanggil SetValue(DependencyPropertyKey, Object). Desain kelas Anda akan memengaruhi kebutuhan Anda, tetapi umumnya disarankan untuk membatasi akses dan visibilitas dari salah satu DependencyPropertyKey hingga hanya bagian kode Anda yang diperlukan untuk mengatur properti dependensi tersebut sebagai bagian dari logika kelas atau aplikasi. Disarankan juga agar Anda mengekspos pengidentifikasi properti dependensi untuk properti dependensi baca-saja, dengan mengekspos nilai DependencyPropertyKey.DependencyProperty sebagai public static readonly bidang di kelas Anda.
Properti dependensi baca-saja adalah skenario yang cukup umum. Anda dapat menggunakan nilai properti dependensi baca-saja sebagai dasar untuk operasi sistem properti lain yang mengambil properti dependensi, seperti mendasaar Trigger pada properti dependensi dalam gaya.
Untuk informasi selengkapnya tentang pendaftaran properti dependensi, lihat DependencyProperty.
Validasi pada properti dependensi baca-saja mungkin kurang penting. Tingkat akses nonpublik yang Anda tentukan untuk kunci mengurangi kemungkinan input yang tidak valid secara arbitrer.