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

プロパティ値

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 、このプロパティを使用して、これらの例外を処理するためのカスタムロジックを提供するようにハンドラーを設定できます。 BindingUpdateSourceExceptionFilter が指定されていない場合、バインディング エンジンは例外を使用して ValidationError を作成し、バインドされた要素の Validation.Errors コレクションに追加します。

適用対象