UpdateSourceExceptionFilterCallback 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 menangani pengecualian yang dilemparkan selama pembaruan nilai sumber pengikatan. Ini harus digunakan dengan ExceptionValidationRule.
public delegate System::Object ^ UpdateSourceExceptionFilterCallback(System::Object ^ bindExpression, Exception ^ exception);
public delegate object UpdateSourceExceptionFilterCallback(object bindExpression, Exception exception);
type UpdateSourceExceptionFilterCallback = delegate of obj * Exception -> obj
Public Delegate Function UpdateSourceExceptionFilterCallback(bindExpression As Object, exception As Exception) As Object
Parameter
- bindExpression
- Object
Objek dengan pengecualian.
- exception
- Exception
Pengecualian ditemui.
Tampilkan Nilai
Objek yang biasanya merupakan salah satu dari berikut ini:
| Nilai | Deskripsi |
|---|---|
null | Untuk mengabaikan pengecualian apa pun. Perilaku default (jika tidak UpdateSourceExceptionFilterCallbackada ) adalah membuat ValidationError dengan pengecualian dan menambahkannya ke Errors kumpulan elemen terikat. |
| Objek apa pun | Untuk membuat ValidationError objek dengan atur ke objek tersebut ErrorContent .
Objek ValidationError ditambahkan ke Errors kumpulan elemen terikat. |
| Objek ValidationError | Untuk mengatur BindingExpression objek atau MultiBindingExpression sebagai BindingInError. Objek ValidationError ditambahkan ke Errors kumpulan elemen terikat. |
Contoh
Properti Text berikut ini TextBox terikat data ke properti Age3 sumber yang berjenis int. Pemeriksaan ExceptionValidationRule pengecualian yang dilemparkan selama pembaruan properti sumber (seperti ketika pengguna memasukkan nilai yang tidak dapat dikonversi ke bilangan bulat).
<TextBox Name="textBox3" Width="50" FontSize="15"
Grid.Row="4" Grid.Column="1" Margin="2"
Validation.ErrorTemplate="{StaticResource validationTemplate}"
Style="{StaticResource textBoxInError}">
<TextBox.Text>
<Binding Path="Age3" Source="{StaticResource ods}"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ExceptionValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Anda memiliki opsi untuk menyediakan logika kustom untuk menangani pengecualian tersebut. Contoh berikut menunjukkan cara menggunakan UpdateSourceExceptionFilter properti untuk mengatur UpdateSourceExceptionFilterCallback:
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Berikut ini adalah contoh implementasi dari UpdateSourceExceptionFilterCallback:
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Untuk sampel lengkapnya, lihat Sampel Validasi Pengikatan.
Keterangan
Jika Anda telah mengaitkan ExceptionValidationRule dengan objek Anda, Binding Anda memiliki opsi untuk menggunakan UpdateSourceExceptionFilter properti untuk mengatur panggilan balik ini untuk menyediakan logika kustom untuk menangani pengecualian. Panggilan balik ini dipanggil setiap kali pengecualian ditemui ketika mesin pengikatan memperbarui nilai sumber pengikatan.
UpdateSourceExceptionFilter Jika tidak ditentukan pada Binding, mesin pengikatan membuat ValidationError dengan pengecualian dan menambahkannya ke Validation.Errors koleksi elemen terikat.
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetMethodInfo(Delegate) |
Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan. |