UpdateSourceExceptionFilterCallback Delegált

Definíció

A kötés forrásértékének frissítése során megjelenő kivételeket kezelő metódust jelöli. Ezt a 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 

Paraméterek

bindExpression
Object

Az objektum kivétellel.

exception
Exception

A kivétel történt.

Visszatérési érték

Egy objektum, amely általában az alábbiak egyike:

Érték Leírás
null A kivételek figyelmen kívül hagyása. Az alapértelmezett viselkedés (ha nincs UpdateSourceExceptionFilterCallback) egy kivétellel történő létrehozása ValidationError és a kötött elem gyűjteményéhez való hozzáadása Errors .
Bármely objektum Objektum létrehozása ValidationError az ErrorContent adott objektumhoz beállított beállítással.

A ValidationError rendszer hozzáadja Errors az objektumot a kötött elem gyűjteményéhez.

Objektum ValidationError Az objektum vagy BindingExpression az MultiBindingExpression objektum beállítása a BindingInErrorkövetkezőként: . A ValidationError rendszer hozzáadja Errors az objektumot a kötött elem gyűjteményéhez.

Példák

Az Text alábbiak TextBox tulajdonsága egy olyan forrástulajdonsághoz Age3 van kötve, amely típus int. A ExceptionValidationRule forrástulajdonság frissítése során megjelenő kivételek ellenőrzése (például amikor a felhasználó olyan értéket ad meg, amely nem konvertálható egész számmá).

<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>

A kivételek kezeléséhez egyéni logikát is megadhat. Az alábbi példa bemutatja, hogyan állíthatja be UpdateSourceExceptionFiltera UpdateSourceExceptionFilterCallback tulajdonságot:


BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();

Az alábbiakban egy példa egy példa implementálására UpdateSourceExceptionFilterCallback:

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    return "This is from the UpdateSourceExceptionFilterCallBack.";
}

A teljes mintát a Binding Validation Sample című témakörben talál.

Megjegyzések

Ha társította az ExceptionValidationRule objektumot, Binding a tulajdonság használatával beállíthatja ezt a UpdateSourceExceptionFilter visszahívást, hogy egyéni logikát biztosítson a kivételek kezeléséhez. Ezt a visszahívást akkor hívja meg a rendszer, ha kivétel történik, amikor a kötési motor frissíti a kötés forrásértékét.

UpdateSourceExceptionFilter Ha nincs megadva Bindinga kötési motor, kivétellel létrehoz egy ValidationError elemet, és hozzáadja a Validation.Errors kötött elem gyűjteményéhez.

Bővítő metódusok

Name Description
GetMethodInfo(Delegate)

Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot.

A következőre érvényes:

Lásd még