ValidateValueCallback Delegasikan
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.
Mewakili metode yang digunakan sebagai panggilan balik yang memvalidasi nilai efektif properti dependensi.
public delegate bool ValidateValueCallback(System::Object ^ value);
public delegate bool ValidateValueCallback(object value);
type ValidateValueCallback = delegate of obj -> bool
Public Delegate Function ValidateValueCallback(value As Object) As Boolean
Parameter
- value
- Object
Nilai yang akan divalidasi.
Tampilkan Nilai
true jika nilai divalidasi; false jika nilai yang dikirimkan tidak valid.
Contoh
Contoh berikut mencakup implementasi panggilan balik ini untuk memvalidasi rentang nilai untuk properti dependensi kustom. Dalam hal ini nilai properti mengharapkan enumerasi, dan validasi memastikan bahwa nilai yang disediakan dievaluasi kepada anggota enumerasi tersebut.
private static bool ShirtValidateCallback(object value)
{
ShirtTypes sh = (ShirtTypes) value;
return (sh==ShirtTypes.None || sh == ShirtTypes.Bowling || sh == ShirtTypes.Dress || sh == ShirtTypes.Rugby || sh == ShirtTypes.Tee);
}
Private Shared Function ShirtValidateCallback(ByVal value As Object) As Boolean
Dim sh As ShirtTypes = CType(value, ShirtTypes)
Return (sh=ShirtTypes.None OrElse sh = ShirtTypes.Bowling OrElse sh = ShirtTypes.Dress OrElse sh = ShirtTypes.Rugby OrElse sh = ShirtTypes.Tee)
End Function
Keterangan
Panggilan balik berdasarkan delegasi ini digunakan oleh tanda tangan tertentu dari DependencyProperty.Register metode terkait, seperti RegisterAttached dan setara baca-saja. Anda harus menggunakan tanda tangan yang mengambil validateValueCallback parameter jika Anda menginginkan validasi tertentu dari nilai properti setiap kali efektivitasnya ditetapkan. Anda kemudian harus menerapkan panggilan balik ini sehingga melakukan validasi aktual dari nilai yang diusulkan. Panggilan balik harus mengembalikan true jika nilai yang dikirimkan ke panggilan balik valid, dan false sebaliknya. Nilai false akan menghasilkan pengecualian dalam bagian tertentu dari sistem properti tempat kumpulan properti yang tidak valid dicoba, sehingga aplikasi Anda harus siap untuk menangani pengecualian ini.
Panggilan balik validasi disimpan pada pengidentifikasi properti dependensi, bukan metadata properti dependensi. Panggilan balik validasi Anda tidak memiliki akses ke instans tertentu DependencyObject tempat properti diatur, dan hanya dapat memengaruhi nilai apa yang diterima untuk properti secara umum. Jika Anda memerlukan panggilan balik yang dapat mengubah nilai properti berdasarkan instans tertentu, Anda harus menggunakan kombinasi CoerceValueCallback panggilan balik dan PropertyChangedCallback sebagaimana diterapkan ke metadata properti properti Anda. Anda mungkin juga menerapkan panggilan balik ini ke properti terkait yang seharusnya memengaruhi nilai properti Anda. Untuk detailnya, lihat Panggilan Balik dan Validasi Properti Dependensi.
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetMethodInfo(Delegate) |
Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan. |