現象の説明はこちらに詳しい。
Decimal?
とかでnull許容型にしているデータをTextBoxへバインドすると、入力値を消して空にしたときに、赤枠でエラーが出る。何か入力したあとにバックスペースで空文字にすると、空文字として扱われてしまうため、NULLに変換できないためにそのようなことが起こる。
tawamuredays.blog.fc2.com
上記の記事ではConveter作っていたけど、実はBindingにそのようなためのプロパティがある。TargetNullValue
だ。
blog.okazuki.jp
<TextBox Text="{Binding Path=NumberInput, UpdateSourceTrigger=PropertyChanged, TargetNullValue=''}" />
これで空文字のときはnullと同等の扱いとなる。めでたしめでたし。