Bagikan melalui


UpdateSourceExceptionFilterCallback Delegasikan

Definisi

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.

Berlaku untuk

Lihat juga