ValidateValueCallback Delegasikan

Definisi

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.

Berlaku untuk

Lihat juga