Binding.UpdateSourceExceptionFilter Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un controlador que puede usar para ofrecer lógica personalizada para controlar las excepciones que el motor de enlace encuentra durante la actualización del valor del origen de enlace. Esto solo es aplicable si se asoció una ExceptionValidationRule al enlace.
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
Valor de propiedad
Método que ofrece lógica personalizada para controlar las excepciones que el motor de enlace encuentra durante la actualización del valor del origen de enlace.
Ejemplos
La Text propiedad de lo siguiente TextBox es enlazada a datos a una propiedad Age3
de origen que es de tipo int
. Comprueba ExceptionValidationRule si hay excepciones que se producen durante la actualización de la propiedad de origen (por ejemplo, cuando el usuario escribe un valor que no se puede convertir en un entero).
<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>
Puede proporcionar lógica personalizada para controlar esas excepciones. En el ejemplo siguiente se muestra cómo usar la UpdateSourceExceptionFilter propiedad para establecer un UpdateSourceExceptionFilterCallback.
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
A continuación se muestra una implementación de ejemplo de .UpdateSourceExceptionFilterCallback
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
UpdateSourceExceptionFilterCallback también puede devolver null
, la propia excepción o .ValidationError Para obtener más información, vea UpdateSourceExceptionFilterCallback.
Para obtener el ejemplo completo, consulte Ejemplo de validación de enlace.
Comentarios
ExceptionValidationRule es una regla de validación integrada que comprueba si hay excepciones producidas durante la actualización de la propiedad de origen de enlace. Si ha asociado con el ExceptionValidationRuleBinding objeto , puede usar esta propiedad para establecer un controlador para proporcionar lógica personalizada para controlar estas excepciones. Si no se especifica UpdateSourceExceptionFilter en Binding, el motor de enlace crea ValidationError con la excepción y lo agrega a la colección Validation.Errors del elemento enlazado.