Binding.UpdateSourceExceptionFilter Binding.UpdateSourceExceptionFilter Binding.UpdateSourceExceptionFilter Binding.UpdateSourceExceptionFilter Property

定義

バインディング ソースの値の更新時にバインディング エンジンが検出した例外を処理するためにカスタム ロジックの提供に使用できるハンドラーを取得または設定します。Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. これは、バインディングに ExceptionValidationRule を関連付けている場合にのみ適用できます。This is only applicable if you have associated an ExceptionValidationRule with your binding.

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

プロパティ値

バインディング ソースの値の更新時にバインディング エンジンが検出した例外を処理するためのカスタム ロジックを提供するメソッド。A method that provides custom logic for handling exceptions that the binding engine encounters during the update of the binding source value.

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 can 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.";
}

UpdateSourceExceptionFilterCallbackを返すこともnull、自体には、例外またはValidationErrorします。The UpdateSourceExceptionFilterCallback can also return null, the exception itself, or a ValidationError. 詳細については、「UpdateSourceExceptionFilterCallback」を参照してください。For more information, see UpdateSourceExceptionFilterCallback.

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

注釈

ExceptionValidationRuleバインディング ソース プロパティの更新中にスローされる例外をチェックする組み込みの検証規則。The ExceptionValidationRule is a built-in validation rule that checks for exceptions thrown during the update of the binding source property. 関連付けられている場合は、ExceptionValidationRuleで、Bindingオブジェクト、このプロパティを使用してこれらの例外を処理するためのカスタム ロジックを提供するハンドラーを設定することができます。If you have associated the ExceptionValidationRule with your Binding object, you can use this property to set a handler to provide custom logic for handling these exceptions. 場合、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.

適用対象