Binding.UpdateSourceExceptionFilter Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает обработчик, который можно использовать для предоставления пользовательской логики обработки исключений, возникающих подсистемой привязки во время обновления значения источника привязки. Это применимо только в том случае, если вы связали с привязкой 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
Значение свойства
Метод, предоставляющий настраиваемую логику для обработки исключений, возникающих подсистемой привязки во время обновления значения источника привязки.
Примеры
Свойство Text следующего TextBox кода привязано к исходному свойству Age3 , которое имеет тип int. Проверяет ExceptionValidationRule наличие исключений, которые возникают во время обновления исходного свойства (например, когда пользователь вводит значение, которое не может быть преобразовано в целое число).
<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>
Вы можете предоставить пользовательскую логику для обработки этих исключений. В следующем примере показано, как использовать UpdateSourceExceptionFilter свойство для задания UpdateSourceExceptionFilterCallback.
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Ниже приведен пример реализации UpdateSourceExceptionFilterCallbackобъекта.
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Можно UpdateSourceExceptionFilterCallback также возвращатьnull, само исключение или .ValidationError Дополнительные сведения см. в разделе UpdateSourceExceptionFilterCallback.
Полный пример см. в примере проверки привязки.
Комментарии
Это ExceptionValidationRule встроенное правило проверки, которое проверяет наличие исключений, создаваемых во время обновления свойства источника привязки. Если вы связали ExceptionValidationRule объект с Binding объектом, можно использовать это свойство для задания обработчика для предоставления пользовательской логики для обработки этих исключений. UpdateSourceExceptionFilter Если подсистема привязки не указана, Bindingона создает ValidationError исключение и добавляет его в Validation.Errors коллекцию привязанного элемента.