这是我的代码段:
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />
如果用户输入字母或大数字等,则stringformat将静默死亡。我怎样才能提出异常?
由于
答案 0 :(得分:3)
当文本输入无法转换为源对象上属性所需的数据类型时,绑定吞没异常。但是,您可以在绑定中指定ValidatesOnException
。这将导致转换问题的标准红色边框报告。 BTW这与字符串格式属性无关,字符串格式属性仅与显示当前值有关,当用户输入数据时它不起作用。
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/>
注意我限制了宽度并向左对齐。默认验证弹出窗口的一个问题是它始终显示在右侧,当文本框右边框与silverlight控件右边缘的右边缘齐平时,这有点问题。
答案 1 :(得分:2)
您是否考虑过编写一个过滤器行为,以便您准确控制文本框中的内容?