バインディングはWPFで非常に強力です。 Numberプロパティ(nullable int)があり、テキストボックスにバインドされていると仮定します。エラーが発生した場合にプロパティにnull値を設定するにはどうすればよいですか?
私はそれがエラーをスローすると、そのプロパティが最後の正しい値を持っていることを認識しました。
私は、これらのプロセスがされている意味:
TEXTBOX: "" PROPERTY: null
TEXTBOX: "2" PROPERTY: 2
TEXTBOX: "2b" PROPERTY: 2 <-- here is the problem, should be null instead 2(by the error)
それがエラーを生成し、null値を設定するバインディング方法はありますか?
私はIDataErrorInfoを実装する必要があると言いましたが、ビジネス・ルールを検証するためのインターフェースだと思います。だから私はそれをユーザーに好まれません。
UPDATE:
<TextBox Text="{Binding Number, UpdateSourceTrigger=PropertyChanged,
ValidatesOnExceptions=True, ValidatesOnDataErrors=True,
NotifyOnValidationError=True, TargetNullValue={x:Static sys:String.Empty}}"
テキストボックスをバインドするために使用しているコードを表示します。 – gabsferreira
@devGabrielが更新されました! –