Binding.UpdateSourceExceptionFilter Tulajdonság

Definíció

Lekéri vagy beállít egy kezelőt, amellyel egyéni logikát állíthat be a kötési motor által a kötés forrásértékének frissítése során tapasztalt kivételek kezelésére. Ez csak akkor alkalmazható, ha társított egy kötést ExceptionValidationRule .

public:
 property System::Windows::Data::UpdateSourceExceptionFilterCallback ^ UpdateSourceExceptionFilter { System::Windows::Data::UpdateSourceExceptionFilterCallback ^ get(); void set(System::Windows::Data::UpdateSourceExceptionFilterCallback ^ value); };
public System.Windows.Data.UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; }
member this.UpdateSourceExceptionFilter : System.Windows.Data.UpdateSourceExceptionFilterCallback with get, set
Public Property UpdateSourceExceptionFilter As UpdateSourceExceptionFilterCallback

Tulajdonság értéke

Egy metódus, amely egyéni logikát biztosít a kötési motor által a kötés forrásértékének frissítése során tapasztalt kivételek kezelésé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íthat be egy tulajdonságot UpdateSourceExceptionFiltera UpdateSourceExceptionFilterCallback tulajdonság használatával.


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

Az alábbiakban egy példa UpdateSourceExceptionFilterCallbackegy .

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

Az UpdateSourceExceptionFilterCallback is visszaadható null, a kivétel maga, vagy egy ValidationError. További információért lásd UpdateSourceExceptionFilterCallback.

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

Megjegyzések

Ez ExceptionValidationRule egy beépített érvényesítési szabály, amely ellenőrzi a kötés forrástulajdonságának frissítése során felmerülő kivételeket. Ha társította az objektumotExceptionValidationRule, ezzel a Binding tulajdonsággal beállíthat egy kezelőt, hogy egyéni logikát biztosítson a kivételek kezeléséhez. 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.

A következőre érvényes: