DependencyProperty.RegisterReadOnly Metode

Definisi

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.

Berlaku untuk