UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilterCallback Delegate

定義

バインディング ソースの値の更新中にスローされる例外をハンドルするメソッドを表します。Represents the method that handles exceptions that are thrown during the update of the binding source value. これは ExceptionValidationRule と一緒に使用する必要があります。This must be used with the 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 

パラメーター

bindExpression
Object Object Object Object

例外を発生させたオブジェクト。The object with the exception.

exception
Exception Exception Exception Exception

発生した例外。The exception encountered.

戻り値

System.Object

通常、次のいずれかのオブジェクト:An object that is typically one of the following:

[値]Value 説明Description
null すべての例外を無視する場合。To ignore any exceptions. 既定の動作では (UpdateSourceExceptionFilterCallback がない場合)、例外を使用して ValidationError を作成し、バインドされている要素の Errors コレクションにこれを追加します。The default behavior (if there is no UpdateSourceExceptionFilterCallback) is to create a ValidationError with the exception and adds it to the Errors collection of the bound element.

任意のオブジェクトAny object ValidationError が設定された ErrorContent オブジェクトを作成する場合。To create a ValidationError object with the ErrorContent set to that object.

ValidationError オブジェクトは、バインドされている要素の Errors コレクションに追加されます。The ValidationError object is added to Errors collection of the bound element.

ValidationError オブジェクトA ValidationError object BindingExpression オブジェクトまたは MultiBindingExpression オブジェクトを BindingInError として設定する場合。To set the BindingExpression or MultiBindingExpression object as the BindingInError. ValidationError オブジェクトは、バインドされている要素の Errors コレクションに追加されます。The ValidationError object is added to Errors collection of the bound element.

継承
UpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallbackUpdateSourceExceptionFilterCallback

Textプロパティは、次のTextBoxソース プロパティにデータ バインドAge3型のあるintします。The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. ExceptionValidationRule (ときに、ユーザーが整数に変換できない値を入力) などのソース プロパティの更新中にスローされる例外を確認します。The ExceptionValidationRule checks for exceptions that are thrown during the update of the source property (such as when the user enters a value that cannot be converted to an integer).

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

これらの例外を処理するカスタム ロジックを提供することがあります。You have the option to provide custom logic to handle those exceptions. 次の例は、使用する方法を示します、UpdateSourceExceptionFilterプロパティを設定する、 UpdateSourceExceptionFilterCallback:The following example shows how to use the UpdateSourceExceptionFilter property to set an UpdateSourceExceptionFilterCallback:


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

実装例を次に、 UpdateSourceExceptionFilterCallback:The following is an example implementation of an UpdateSourceExceptionFilterCallback:

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

サンプル全体については、次を参照してください。バインディングの検証のサンプルします。For the complete sample, see Binding Validation Sample.

注釈

関連付けられている場合は、ExceptionValidationRuleで、Bindingオブジェクトを使用するオプションがある、UpdateSourceExceptionFilter例外を処理するためのカスタム ロジックを提供するには、このコールバックを設定するプロパティ。If you have associated the ExceptionValidationRule with your Binding object you have the option to use the UpdateSourceExceptionFilter property to set this callback to provide custom logic for handling the exceptions. このコールバックは、バインディング エンジンは、バインディング ソースの値を更新するときに例外が検出されるたびに呼び出されます。This callback is invoked whenever any exception is encountered when the binding engine updates the binding source value.

場合、UpdateSourceExceptionFilterがで指定されていない、 Binding、バインディング エンジンが作成されます、ValidationError例外に追加します、Validation.Errorsバインドされた要素のコレクション。If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

拡張メソッド

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Gets an object that represents the method represented by the specified delegate.

適用対象

こちらもご覧ください