Binding.UpdateSourceExceptionFilter プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バインディング ソース値の更新中にバインディング エンジンで発生する例外を処理するためのカスタム ロジックを提供するために使用できるハンドラーを取得または設定します。 これは、バインドに 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
プロパティ値
バインディング ソース値の更新中にバインディング エンジンで発生する例外を処理するためのカスタム ロジックを提供するメソッド。
例
次のTextBoxのText プロパティは、int型のソース プロパティ Age3にデータ バインドされます。
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 コレクションに追加します。