検証に問題があります。バリデータは、ユーザーが値を入力せずに離れているテキストボックスから移動するとき、次のように返すことValidation.Errorがハンドラを呼び出さない
<TextBox local:Masking.Mask="^[a-zA-Z0-9]*$" x:Name="CameraIdCodeTextBox" Grid.Row="1" Grid.Column="1">
<Binding Path="CameraIdCode" Mode="TwoWay">
<Binding.ValidationRules>
<localValidation:RequiredFieldRule />
</Binding.ValidationRules>
</Binding>
</TextBox>
:
return new ValidationResult(false, ValidationFailedMessage);
私は次のようにXAMLで適用されるRequiredFieldRuleというカスタムバリデータを作成しました私はいくつかのカスタム視覚的なフィードバックを見せたいし、それがバブルアップとして、エラーをキャプチャするためにValidation.Errorイベントを使用しようとしました:
private void Grid_Error(object sender, ValidationErrorEventArgs e)
{
// do stuff here
}
残念ながら、その時間andlerは呼び出されません。私の質問は、その中のTextBoxが正常に失敗したValidationResultを返すときに、そのハンドラが呼び出されないのはなぜですか?
ええ、彼に耳を傾けてください。エラーイベントは、 'NotifyOnValidationError =" True "'の場合にのみ発生し、 'ValidatesOnExceptions =" True "' –
@Rhyous Aweesomeを設定した場合にのみ検証が行われます。私は仕事に着くとすぐにそれを試してみます。あなたが私からのさらなるコメントを得なければ、それは働きました、そして、私は非常に感謝しています! – onefootswill